首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

linux下的vim技巧

在Linux下使用Vim编辑器时,掌握一些技巧可以显著提高你的编辑效率。以下是一些实用的Vim技巧:

基础操作

  1. 模式切换
    • 正常模式(Normal Mode):默认启动模式,使用快捷键进行操作。
    • 插入模式(Insert Mode):按i进入插入模式,可以编辑文本。
    • 命令行模式(Command Mode):按:进入命令行模式,可以执行保存、退出等命令。
  • 移动光标
    • h:左移
    • j:下移
    • k:上移
    • l:右移
    • gg:跳到文件开头
    • G:跳到文件结尾
    • Ctrl + d:向下移动半页
    • Ctrl + u:向上移动半页
  • 删除和复制
    • x:删除当前字符
    • dd:删除当前行
    • yy:复制当前行
    • p:粘贴

高级技巧

  1. 查找和替换
    • /pattern:查找模式
    • n:下一个匹配项
    • N:上一个匹配项
    • :s/old/new/g:替换当前行的所有old为new
    • :%s/old/new/g:替换整个文件的所有old为new
  • 多窗口操作
    • :split file:水平分割窗口并打开file
    • :vsplit file:垂直分割窗口并打开file
    • Ctrl + w + h/j/k/l:在窗口间移动
  • 宏录制
    • q[a-z]:开始录制宏到寄存器a-z
    • 再次按q结束录制
    • @[a-z]:播放宏
  • 代码折叠
    • zf%:创建一个折叠
    • zo:打开折叠
    • zc:关闭折叠

应用场景

  • 代码编辑:Vim非常适合编辑代码,特别是对于需要频繁切换模式的编程任务。
  • 日志查看:Vim的强大搜索和导航功能使其成为查看和分析日志文件的理想工具。
  • 配置文件编辑:Vim的简洁性和高效性使其成为编辑系统配置文件的首选工具。

常见问题及解决方法

  1. Vim启动慢
    • 确保没有加载不必要的插件或配置文件。
    • 使用vim -u NONE启动Vim以排除配置文件的影响。
  • Vim无法保存文件
    • 检查文件权限,确保你有写权限。
    • 使用:w !sudo tee %命令保存需要超级用户权限的文件。
  • Vim搜索不区分大小写
    • 在Vim配置文件(通常是~/.vimrc)中添加set ignorecaseset smartcase

示例代码

以下是一个简单的Vim配置示例,可以在~/.vimrc文件中添加:

代码语言:txt
复制
" 启用行号显示
set number

" 启用自动缩进
set autoindent

" 设置缩进宽度为4个空格
set tabstop=4
set shiftwidth=4
set expandtab

" 启用搜索高亮
set hlsearch
set incsearch

" 启用鼠标支持
set mouse=a

通过掌握这些基础和高级技巧,你可以更高效地使用Vim进行各种编辑任务。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Linux下强大的编辑器Vim使用『技巧』

vim是vi的增强版,一般现代linux都不缺那几兆空间,所以预装的都是增强版,本文默认使用vim。 养成习惯 vim最大的贡献就是它的按键系统。...vim另外一个特点就是带模式的。一共四种模式,我们不需要记忆,只需要使用例子去理解即可。 不要添乱 不要使用vim打开大文件,vim会一次性读取所有内容到内存,容易造成宿主机内存溢出。...查找字符串 同样的,正则的知识也可以应用* 在普通模式下,按下/直接进入查找,输入相应的字符串按确定即可。...n 查找下一个匹配 N 查找上一个匹配 2n 查找下面第二个匹配 如果觉得跳来跳去晕头转向,可以在命令模式下输入set nu开启行号 宏录制 这可以说是vim的一个杀手锏了。拿上面的例子来说。...至于更多的,也装不下,只有你自己去探索喽。 vim的入门门槛比较高,幸运的是,用多了,你就无法释手了。

1.5K40
  • linux中vi,vim操作技巧

    可以通过切换到正常模式(编辑模式下按 ESC 键)来进行操作: dd:输入两次dd删除当前行。 3dd:从当前行开始删除3行。...把外部文件读入vim 我开始使用vim 的时候,经常会打开一个文件、复制内容、关闭文件、打开另一个文件、然后粘贴进去复制到内容。其实 Vim 中读取另一个文件的内容非常方便。...> vim rumenz.txt :read readme.md 把命令的结果读入vim 切换到正常模式,然后输入:read !command 即可把command的结果输入到vim中。...> vim rumenz.txt :read !pwd 切换到上次修改的位置 想知道你在文件中做的最后一次修改是在什么位置?切换到正常模式,输入 g; 来即可切换到上次修改的位置。...切换到当前行的行首或者行尾 正常模式,输入$跳到当前行的行尾。输入0跳到当前行的行首。 vim中以16进制查看文件 正常模式下,输入:%!

    4.6K10

    linux下vim命令详解

    高级一些的编辑器,都会包含宏功能,vim当然不能缺少了,在vim中使用宏是非常方便的: :qx 开始记录宏,并将结果存入寄存器x q 退出记录模式 @x 播放记录在x寄存器中的宏命令...稍微解释一下,当在normal模式下输入:qx后,你对文本的所有编辑动作将会被记录下来,再次输入q即退出了记录模 式,然后输入@x对刚才记录下来的命令进行重复,此命令后可跟数字,表示要重复多少次,比如...+,所以从系统粘贴板粘贴到vim中的命令为”+p,注意此处的+不表示操作符,二十一个寄存器。...移动光标 在vim中移动光标跟其他的编辑器中有很大的区别,不过一旦学会了,就会飞速的在文本中移动了。...h,j,k,l 上,下,左,右 ctrl-f 上翻一页 ctrl-b 下翻一页 % 跳到与当前括号匹配的括号处,如当前在{,则跳转到与之匹配的}处 w 跳到下一个字首

    2.5K30

    linux中vi,vim操作技巧

    可以通过切换到正常模式(编辑模式下按 ESC 键)来进行操作: dd:输入两次dd删除当前行。 3dd:从当前行开始删除3行。...把外部文件读入vim 我开始使用vim 的时候,经常会打开一个文件、复制内容、关闭文件、打开另一个文件、然后粘贴进去复制到内容。其实 Vim 中读取另一个文件的内容非常方便。...> vim rumenz.txt :read readme.md 把命令的结果读入vim 切换到正常模式,然后输入:read !command 即可把command的结果输入到vim中。...切换到当前行的行首或者行尾 正常模式,输入$跳到当前行的行尾。输入0跳到当前行的行首。 vim中以16进制查看文件 正常模式下,输入:%!.../rumenbiji/linux-vi-vim-skills.html 微信公众号:入门小站

    2.6K00

    linux下的vim使用方法

    第二点,因为有太多 Linux 上面的指令都默认使用 vi 作为数据编辑的接口,所以必须、一定要学会vi否则很多指令你根本就无法操作. 5.2 vim的使用 基本上 vi 共分为三种模式,分别是『一般指令模式...通常在 Linux 中,按下这些按键时,在画面的左下方会出现『 INSERT 或 REPLACE 』的字样,此时才可以进 行编辑。...vim 的环境中,可能因为某些不知名原因导致 vim 中断 (crashed): 如果你之前的 vim 处理动作尚未储存,此时你应该要按下『R』,亦即使用 (R)ecover 的项目, 此 时 vim...的断行字符 曾经提到过 DOS 与 Linux 断行字符的不同。...我们说过,在 Linux 底下的指令在开始执行时,他的判断依据是 『Enter』,而 Linux 的 Enter 为 LF 符号, 不过,由于 DOS 的断行符号是 CRLF ,也就是多了一个^M的符号出来

    2.3K20

    配置Linux下vim自动缩进

    从终端打开配置文件: vim ~/.vimrc 添加如下代码: set tabstop=4 set softtabstop=4 set shiftwidth=4 set autoindent set...4 set shiftwidth=4 3.设置自动缩进:即每行的缩进值与上一行相等;使用 noautoindent 取消设置: set autoindent 4.使用 C/C++ 语言的自动缩进方式 set...cindent 5.设置C/C++语言的具体缩进方式(windows风格为例): set cinoptions={0,1s,t0,n-2,p2s,(03s,=.5s,>1s,=1s,:1s 6.显示行号...ruler 8.将搜索内容反白 set hlsearch 9.可以删除任意值 set backspace=2 10.最后,有一套配色方案,可以用起来像Sublime Text: 网上下载”monokai.vim...”并放在~/.vim下的colors文件夹下(没有的话新建一个colors文件夹); 然后在~/.vimrc 文件中添加如下代码: syntax enable set background=dark :

    3.5K50

    vim技巧

    简介 得益于 vim 的指法,敲起代码来如行云流水。不管是不是写代码,学好vim 指法相当重要,当然最重要的还是为了效率,节省时间做更多其他的事。 小技巧 “工欲善其事,必先利其器”。...在 Vi/Vim 版本的选择上,原则是“能用 Vim 就不要使用 Vi”。Vim 提供的功能和特性要比 Vi 多得多,如语法加亮着色功能等。...就使用效果及效率来说,编辑同样的文件,使用 Vim 更胜一筹;就版本来说,新版的往往会修复旧版的一些缺陷及不足。这就要求我们在可能的情况下一定要使用最新版的 Vim。...保存文件 :w 教程篇 默认的 vim 是没有显示行数的,可自行在 vim 配置文件里开启(自行Google) Vi/Vim 中操作单位有很多,按从小到大的顺序为(括号内为相应的操作命令):字符(h、...G 移动到文件末尾 gg 移动到文件开头 :0移动到文件第一行 :$ 移动到文件最后一行 文本编辑 与光标移动一样,Vi/Vim 中关于编辑操作的命令也比较多,但操作单位要比移动光标少得多。

    2.5K30

    Linux的vim下制作进度条

    (这个我在Linux下演示) 但我们在一个test.c文件中写入如下代码时: #include #include //注意头文件 int main...,C语言中我们右cplusplus,或者MSDN,但在Linux下,Linux自带了功能查询,我们可以在命令行中输入以下代码来查看相应功能(要退出,则输入:q 要上下翻:用键盘的上下键(千万不要用鼠标哦...,自己可以试试看哦,在Linux下,鼠标大多是没用的)) man fflush //man 命令:可以查看该命令的具体信息 将会出现如下信息 是不是和cplusplus和MSDN很像 这里我们看出...*为什么'\r'时就不显示任何东西呢(没有fflush的情况下) *这里要讲到缓冲区的概念 *因为在计算机内部,如果每次输出直接输出到屏幕,是非常慢的,因为它是外部设备,输出需要用到...・・)ノ [#################################################################][100%] 所以让它sleep一下下~~~~~,

    10810

    VIM的使用技巧

    1、复制多行文字   :3,10 co 11   将第三到10行的内容复制到第11行   如果不想查看具体是那一个行,可以用下面的办法:   光标移到起始行,输入ma 光标移到结束行,输入mb...光标移到粘贴行,输入mc 然后 :'a,'b co 'c   把 co 改成 m 就成剪切了   还有一个办法:找到要复制的行,键盘按下shift+v, 然后用方向键上下或j h ...移动想要copy的行,然后按下y   在移动到目的行,按下p即完成拷贝多行。...这种方法适合没有行号的多行copy。...dnh:向左删除n个字母 dnj:向下删除n行 dnk:向上删除n行 d$:删除当前光标到改行的行尾的字母 dd:删除一行 3、显示行号    可以通过:set number来在当前编辑文件中显示行号

    29420

    VIM技巧

    (6) 如何选择或者复制光标所在的单词? (7) 如何计数搜索的字符串? (8) 如何去掉高亮搜索? (9) 如何解决linux下gvim中文菜单乱码的问题?...(9) 如何解决linux下gvim中文菜单乱码问题?...需要解释的是,VI有很多变种,它本身并没有这种功能,提供这种功能 往往是其各种衍生版本,比如说vim。下面就vim中如何语法高亮简单解释一下。...如果还不行,可以用鼠标从syntax菜单下选择一下适合你的 文件类型(新版本的gvim默认把文件类型选择关闭了,需要点开,然后按照 开头字母选择类型) 如果是linux,那么确认一下是否是redhat...另外在命令行里C-R C-W和C-R C-A是必用的技巧,它们将光标下的和 考到命令行里,省了你无数的typing。 3.

    1.1K30

    Linux下vim的常用命令总结

    vim按d表示剪切 按dd剪切一行 vim命令:命令模式 /关键字 n继续向下查找 vim的多行注释: 1.按ctrl + v进入 visual block模式 2.按上下选中要注释的行...3.按大写字母I,再插入注释符,例如// 4.按两下esc 5.按ctrl + v进入 visual block模式,按箭头选中要取消的// 6.按d删除 比较两个文件: vimdiff 文件1 文件...2 vim配置行号: /etc/vimrc 添加set number,无行号set nonumber ctags:扫描指定的源文件,找出其中所包含的语法元素,并将找到的相关内容记录下来 安装ctags...autochdir 使用:ctrl+]跳转到 ctrl+t跳转回 vimtutor是vim的教程 vim的三种模式:命令模式,编辑模式,末行模式 vim命令: ZZ 保存退出 gg=G 代码格式化...0 移到到行首 $ 移到到行尾 gg 移到到文件头 G 移到到文件尾 数字G 行跳转 dD 全部删除 d0 删除光标前的 dd 删除光标所在行 d$ 删除光标后的 u 撤销 ctrl+r 前进

    1.3K30

    Linux下如何使用Vim加密文件

    Vim 是一种流行的、功能丰富的和高度可扩展的 Linux 文本编辑器,它的一个特殊功能便是支持用带密码各种的加密方法来加密文本文件。...本文中,我们将向你介绍一种简单的 Vim 使用技巧:在 Linux 中使用 Vim 对文件进行密码保护。我们将向你展示如何让一个文件在它创建的时侯以及为了修改目的而被打开了之后获得安全防护。...#RHEL/CentOS 系统 $ sudo dnf install vim          #Fedora 22+ 怎样在 Linux 中用 Vim 对文件进行密码保护 Vim 有个 -x 选项,...下次你想打开它编辑一下,你就必须像这样去输入密钥: $ vim file.txt 需要 "file.txt" 的加密密钥 警告:正在使用弱加密方法;参见 :help 'cm' 输入密钥:******...文章中我们介绍了怎么通过 Linux 下的 Vim 文本编辑器来给一个文件做加密防护。 永远记住要用强加密方式及密码来适当的保护那些可能包含了诸如用户名及密码、财务账户信息等机密信息的文本文件。

    2K10

    vim进阶技巧

    用vim时间也不短了,虽然离驾驭vim还差了十万八千里,但是也积累了不少实用好玩的小技巧~~ 读文件 不知道经常用vim的同学有没有一个体验,经常会打开一个文件、复制内容、关闭文件、打开另一个文件、然后粘贴进去复制到内容...其实有更好的办法,那就是: :read filename 一个简单的小技巧文件就读取进来啦! 缓冲区跳转 刚用vim的很长一段时间都对多文件编辑特别不习惯,知道后面明白自己忽略了缓冲区的作用。...搜索 简单的输入字符单文件搜索这里就不介绍了,想必用过vim的同学都知道。 如何快速对指定单词搜索?只需要将你的光标移到这个单词下然后按*就可以了,非常简单实用。...其次是多文件搜索,在vim下感觉很麻烦,其实不然。用vimgrep还是比较快捷的。...但是这时候vim决定秀一波操作,掏出了一套宏录制大法。。大法上写着: qa 把你的操作记录在寄存器 a。 @a 会replay被录制的宏。 @@ 是一个快捷键用来replay最新录制的宏。

    98550

    vim命令搜索_linux的vim

    承接我们的 Vim 教程系列,本文我们将讨论 Vim 提供的多种搜索技术。 不过在此之前,请注意文中涉及到的所有的例子、命令、指令均是在 Ubuntu 14.04,Vim 7.4 下测试的。...Vim 中的基础搜索操作 当你在 Vim 中打开一个文件并且想要搜索一个特定的单词或模板,第一步你必须要先按下 Esc 键从插入模式中退出(如果你正处于插入模式中)。...例如,如果你想要搜索的单词是 linux,下图显示的就是在 Vim 窗口底部的搜索命令: 敲击回车键之后,你会看到 Vim 会将光标停留在从光标在插入模式中的位置开始,找到的包含此单词的第一行。...要想使用这种特性,你必须在搜索前执行下述命令: :set incsearch 一些很酷的在 Vim 中搜索的小技巧 你可能会发现还有一些其他的与搜索相关的小技巧很有用。 开始吧!...如果想要获得更多小技巧(包括如何使用鼠标来使在 Vim 中的操作变得简单),请前往 Vim 官方文档。 结语 当然,没有人希望你死记硬背这里提到的所有小技巧。

    10.2K20

    【Linux】详解Linux下的工具(内含yum指令和vim指令)

    实现跟各位读者说一点,本文是在站在Centos 7版本下进行讲解的,但是底层原理对于Linux各版本都是通用的。 话不多说,让我们在Linux软件天空中欢快的翱翔吧! 1....Linux下软件安装的方式 想必大家都在Windows上下载过诸多的软件,过程十分的简单。只需要我们点击下载,更改一下安装路径,然后一路Next即可。可是在Linux系统下就没有辣么简单了!...2.2 在自己的Linux系统下验证yum源的存在 我说了那么多,就是为了让大家了解yum的背景,以及知道yum背后的原理。那么接下来,我们就来看看yum是否真的存在于Linux系统下。...3. vim编辑器 想必大家早就现在Linux下写代码了,那么现在我就给大家介绍一个vim编辑器。 3.1 vim是什么? vim是一款功能强大、多模式的文本编辑器。...补充:如果用vim打开一个不存在的文件,系统会自动创建该文件! 3.2 vim各模式下的讲解 3.2.1 命令模式 在此模式下,用户的任何输入都会被当作命令。

    7310
    领券