一.vim永久设置显示行号和缩进
1、临时显示行号: 打开vim 编辑器,进入到末行模式下,输入set nu按回车即可显示行号;
2、永久显示行号: 在/etc/vim目录下的vimrc文件下添加:
set nu #设置行号 (或set number)
set autoindent #自动缩进
set ts=4 #这个是设置tap的大小为4个空格
二.常用操作
- vi 的三种模式:
- 扩展模式,由 : 进入 退出,保存,查找 替换
- 插入模式:a i o
- 命令模式:可移动光标,修改,删除,复制,搜索
-
命令模式下 复制 删除 修改:
cc : 修改一行,也就是开启Insert模式
cl : 修改一个字符
cw : 修改一个词 ,注意:也就是从光标开始向后开始修改dd : 删除一行 D:也可以
dl : 删除一个字符, 光标后
dw : 删除一个词 光标后yy : 复制一行
yl : 复制一个字符 ,光标后
yw : 复制一个词 ,光标后开始复制一个词 -
撤销操作
- u 撤销最近一次修改 undo
- ctrl+r 取消最后一次撤销 redo
- U 撤销所有的修改
-
查找操作:
- /searchText 由光标向后搜索 (进入命令模式 : )
- ?searchText 由光标向前搜索
- n 由光标向下一步搜索
- N 由光标向前搜索
-
粘贴操作:
- p 粘贴 复制或者修改过或删除的内容(即使删除 系统认识下次会用到 也复制上饿了)
- p 粘贴在行上方,
- P(大写) 粘贴在行下方
-
范围操作
- dto 删除从光标到字符o的所有字符
- ro 将光标下的字符替换成o (修改字符方式可以这种比cl快)
- dw 删除由光标开始后的一个词
- 6dd 删除6行文字
- 6yy 复制6行文字
- 6x 删除6个字符
- R 替换
-
保存 退出 强制退出
- :wq 保存并退出
- :w! 强制保存
- :q! 强制退出
- :w 保存
- :q 退出
- :wq! 强制保存并退出
-
快速文件内定位
- G 跳到文件最后一行
- 6G 跳到文件的第6行
- ctrl+d 滑动到文件的下半屏
- CTRL+u 滑动到文件的上半屏
-
快速屏幕内定位
- H 跳到本屏幕的第一行
- M 跳到本屏幕中间一行
- L 跳到本屏幕最后一行
- z+Enter 让当前一行成为屏幕的第一行
- z- 让当前一行成为屏幕的最后一行
-
查找并批量替换
- set 来查找
- 默认当前行查找
- :s/a/b 就是把字符a替换成字符b(仅替第一个)
- :s/a/b/g 把当前光标下一行中的a全都替换成b
- :1,20s/a/b/g 在1-20行中的a全都替换成b
- :1,¥s/a/b/g 在整个文件中的a全都替换成b
-
读取和保存
- :r filePath 把filePath路径下文本粘贴在光标后
- :1,20 w fileName.txt 在1-20行文本内容写到fileName.txt(出现在你当前命令的路径下)
- :1,$ w fileName.txt 在整个文本内容写到fileName.txt(出现在你当前命令的路径下)
- :1,20 w>> fileName.txt 在1-20行文本内容继续粘贴到fileName.txt(出现在你当前命令的路径下)
-
设置
- :set 设置常用的配置选项
- :set all 显示所有的配置选项
- :set number 设置显示行号
-
恢复文件
- vi在编辑某一个文件时,会生成一个临时文件,这个文件以 . 开头并以 .swp结尾。正常退出该文件自动删除,如果意外退出例如忽然断电,该文件不会删除,我们在下次编辑时可以选择一下命令处理:
- O 只读打开,不改变文件内容
- E 继续编辑文件,不恢复.swp文件保存的内容
- R 将恢复上次编辑以后未保存文件内容
- Q 退出vi* D 删除.swp文件
- 或者使用vi -r 文件名来恢复未保存的内容