在Linux环境下难免会遇到使用VIM的情况,于是在这里进行一些总结
本博客简要总结了一些使用VIM的使用技巧。
Vim是一款功能强大的文本编辑器,它提供了许多高效的编辑技巧和快捷键。
首先是如何进行vim的界面,命令为vim example.c。其中example.c为当前路径下的文件,当然也可以对指定路径下的文件进行vim编辑。
在进入vim编辑界面后,以下是一些使用Vim的详细技巧:
1 基本模式与切换
首先需要了解Vim的三种基本模式:普通模式(Normal mode)、插入模式(Insert mode)和命令模式(Command mode,也叫Ex模式)。
- 普通模式:启动Vim时默认进入的模式,可以进行光标移动、删除、复制、粘贴等操作。
- 插入模式:在普通模式下按
i、a、o、O等键进入,用于输入文本。i:在当前光标位置前进入插入模式。a:在当前光标位置后进入插入模式。o:在当前行下新开一行并进入插入模式。O:在当前行上新开一行并进入插入模式。
- 命令模式:在普通模式下输入
:进入,用于执行命令,如保存文件、退出Vim、替换文本等。
从插入模式或命令模式返回普通模式,可以按下Esc键。
2 光标移动
h:左移一个字符。j:下移一行。k:上移一行。l:右移一个字符。w:移至下一个单词的开头。e:移至当前单词的结尾。b:移至当前单词的开头。gg:移至文件开头。G:移至文件末尾。(数字)G:移至指定行号。^:移动到行首第一个非空白字符(汉字空格不被视为空白字符)。0:移动到行首第一个字符。$:移动到行尾。
3 文本编辑
删除:
x:删除当前光标所在位置的字符。X:删除当前光标所在位置前一个字符。dd:删除整行。ndd:删除n行。dw:删除一个单词。d3w:删除三个单词。d$:删除从当前光标到行尾的内容。D:等同于d$,删除从当前光标到行尾的内容。
复制与粘贴:
yy:复制当前行。nyy:复制光标以下n-1行。p:在当前光标位置粘贴文本。yw:复制一个单词。ye:复制从当前光标到单词结尾的内容。y$:复制从当前光标到行尾的内容。
撤销与重做:
u:撤销上一步操作。Ctrl+r:重做上一步撤销的操作。
4 页面滚动
Ctrl+f:向前翻整页(forward)。Ctrl+b:向后翻整页(backward)。Ctrl+d:向下翻半页(down)。Ctrl+u:向上翻半页(up)。Ctrl+e:向上滚一行。Ctrl+y:向下滚一行。Ctrl+B:向后滚一页(与Ctrl+b不同,注意大小写)。Ctrl+F:向前滚一页(与Ctrl+f不同,注意大小写)。
5 命令模式操作
:w:保存文件。:q:退出Vim。:wq:保存并退出Vim。:q!:强制退出Vim。ZZ:保存并退出,与:wq等效(注意是大写的Z)。:set number:显示行号。:set nonumber:隐藏行号。:syntax on:开启语法高亮。:syntax off:关闭语法高亮。:s/old/new/g:替换当前行的第一个old为new。:s/old/new/gc:替换当前行的第一个old为new,每次替换前询问。:%s/old/new/g:替换整个文件的old为new。:args:查看或设置参数列表中的文件。:argdo %s/old/new/g:在参数列表中的每个文件里执行替换操作。
6 高级技巧
可视化模式:按
v进入可视化模式,可以选择文本块,然后进行复制、剪切、粘贴等操作。重复命令:
.命令可以重复上一次修改命令。例如,如果上一次操作是删除一个单词,那么.将再次删除一个单词。查找与替换:
/pattern:从当前光标位置开始向下查找指定模式。?pattern:从当前光标位置开始向上查找指定模式。n:在查找模式下,切换到下一个匹配项。N:在查找模式下,切换到上一个匹配项。
多文件操作:
:sp [filename]:水平分割窗口并打开新文件或当前文件。:vsp [filename]:垂直分割窗口并打开新文件或当前文件。Ctrl+w+h/j/k/l:在分割的窗口间切换。:tabe [filename]:在新的标签页中打开文件。:tabn和:tabp:在标签页间切换。
录制宏:
- 使用
q命令开始录制宏,然后执行一系列操作。 - 录制完成后,再次按
q结束录制。 - 使用
@命令加上宏的寄存器名称来执行录制的宏。
- 使用
插件使用:
- Vim支持各种插件,如NERDTree用于目录树管理,MiniBufExplorer用于buffer窗口管理,word_complete.vim用于自动补全等。
- 插件的安装和配置通常需要在Vim的配置文件(如
.vimrc)中进行。
以上是使用Vim的一些详细技巧,掌握这些技巧可以大大提高文本编辑的效率。不过,Vim的功能非常强大,还有更多高级功能和自定义设置等待我们去探索和学习。
感谢看到这里,在记录中收获成长,道阻且长