当前位置: 首页 > Linux

谷雨云Linux笔记:vim使用

时间:2023-04-06 23:13:48 Linux

Vim是Linux中一个简单但功能强大的文本编辑器,可以用来创建、编辑和查看文本。本文只是简单介绍,更多的用法需要个人去实践。Vim通常分为三种模式:命令模式:Vim第一次打开时,默认进入命令模式。此时所有的键盘敲击都会被识别为命令而不是字符输入,编辑器等待用户输入命令。输入模式:插入模式,通常使用这种模式编辑文本,当按下Esc键时,会自动退出输入模式,进入命令模式。底线命令模式:在命令模式下输入冒号:进入底线命令模式。输入命令后,回车执行相应的命令,退出底线命令模式。当按下Esc键时,也会自动退出底线命令模式。并进入命令模式。命令模式下常用的命令有:a/A:a表示在光标所在字符后插入,A表示在光标所在行尾插入,此时进入输入模式时间。i/I:i表示在光标所在字符前插入,I表示在光标所在行首插入,此时进入输入模式。o/O:o表示在光标所在行下插入新行,O表示在??光标所在行上方插入新行,此时进入输入模式。gg:转到第一行。G:定位到最后一行。[n]G:表示定位到第n行。比如先按数字88(屏幕上不会显示你的按键),再按G跳转到第88行。效果与底线命令模式命令“:88”相同。$:将光标移动到行尾。0:光标移动到行首。x:删除光标所在的字符。[n]x:删除光标所在位置后n个字符。dd:删除(剪切)光标所在行。[n]dd:删除(剪切)光标所在行及其后一共n行。dG:删除从光标所在行到文件末尾的所有内容。D:从光标位置删除到文件末尾。yy:复制当前行。[n]yy:复制当前行和后面的n行。p/P:粘贴到光标所在行的下方或上方。r:替换光标所在的字符。R:进入替换状态,从光标位置开始替换字符,按Esc结束。u:取消之前的操作。/[string]:搜索指定字符串,回车,按n查看下一条搜索结果。但默认是区分大小写的。如果你想不区分大小写,你需要在底行命令模式下执行一个命令“:setic”。否则,如果你想区分大小写,执行":setnoic"。ZZ:快捷键,保存修改并退出。底行命令模式下常用的命令有(省略冒号:):setnu:设置行号。setnonu:取消行号。[n]:定位到第n行,如":50"表示定位到第50行。[n1],[n2]d:删除第n1到n2行的所有内容。set[ic/noic]:不区分大小写和区分大小写。%s/[old]/[new]/[g/c]:全文中用指定的新字符串替换旧字符串,g表示执行时不询问,c表示执行时询问。[n1],[n2]s/[old]/[new]/[g/c]:在指定范围n1到n2行之间用指定的新字符串替换旧字符串,g表示执行时不询问,c表示执行时查询。w:保存更改。wnewfilename:另存为指定文件。wq:保存更改并退出。q!:退出而不保存更改。wq!:保存修改并退出(文件属主和root均可使用)。修改权限为只读的文件时,仅使用:wq无法保存。这时候,你可以使用:wq!强制保存修改。更多Vim技巧第一个冒号表示底行命令模式::r[文件名]:从光标位置导入其他文件的内容到本文件。:![command]:在不退出Vim的情况下执行命令。:r![command]:将光标所在位置某条命令的执行结果导入到该文件中。:[n1],[n2]s/^/#/g:连续多行注释(即把所有行的大写替换为#,^表示行首,其他语言替换注释以同样的方式)。:[n1],[n2]s/^#//g:取消多行开头的注释(即把所有行开头的#替换为空字符,^表示行首,用同样的方法替换其他语言的注释即可)。