2019年11月1日 下午5:38
- “+y 复制选中内容到+寄存器,也就是系统的剪贴板,供其他程序用
- 全部复制:按esc后,然后ggyG
- 全部删除:按esc后,然后dG
linux vi & vim 插入 删除 修改 文本 - 数据之美的博客 - CSDN博客
修改文本字母
- r+字母
- s+n字母
- n+s+n字母
- 替换光标所在位置后面数字指定数量的文本为任意输入文本,与前面一个命令的区别就是替换指定数量的字母
- R+n字母
修改文本块
- c+w
- c+2w
- c+b
- 往前修改一个文本单词,此命令会从光标位置往前删除一个单词,并使 vi 进入插入编辑模式进行文本插入
- c+2b
- 往前修改数字指定数量的文本单词,并使 vi 进入插入编辑模式进行文本插入
- c+0
- 删除光标位置到行首的所有文本,并使 vi 进入插入编辑模式进行文本插入
- c+$
- 删除光标位置到行末的所有文本,并使 vi 进入插入编辑模式进行文本插入
Vim使用技巧:撤销与恢复撤销 - wallace-lai - 博客园
撤销:u
恢复撤销:Ctrl + r
vim选中字符复制/剪切/粘贴 - 飞雪安能住酒中 - 博客园ctrl + v + hjkl
- :reg 查看寄存器,可以看到vim自带的剪贴板里的内容, 在安装了gnome后能看到里面新增了一个 + 寄存器,这就是和系统同步的寄存器。
Shift+ v使用可视化模式,也可以配合光标移动键选择文本。
全局操作:
- 缩进
- 字符串替换:
:%s/XXX/YYY/g全局替换:s/p1/p2/g: 将当前行中所有p1均用p2替代:n1,n2s/p1/p2/g: 将第n1至n2行中所有p1均用p2替代- vim批量替换
- 复制:不是ctr+v
Shift+ v使用可视化模式,也可以配合光标移动键选择文本。
- 其实就是在将vim中的set命令,我经常使用的有
set nu - 还有一些其他的:
syntax on打开语法高亮。set encoding=utf-8设置编码- 缩进
set autoindent- 按下回车键后,下一行的缩进会自动跟上一行的缩进保持一致。
set shiftwidth=4- 在文本上按下>>(增加一级缩进)、<<(取消一级缩进)或者==(取消全部缩进)时,每一级的字符数。
set expandtab- 由于 Tab 键在不同的编辑器缩进不一致,该设置自动将 Tab 转为空格。
set softtabstop=2Tab 转为多少个空格
- 外观
set relativenumber- 显示光标所在的当前行的行号,其他行都为相对于该行的相对行号。
set cursorline光标所在的当前行高亮。set textwidth=80设置行宽,即一行显示多少个字符。set ruler在状态栏显示光标的当前位置(位于哪一行哪一列)
- 搜索
set showmatch- 光标遇到圆括号、方括号、大括号时,自动高亮对应的另一个圆括号、方括号和大括号
set hlsearch搜索时,高亮显示匹配结果。set incsearch- 输入搜索模式时,每输入一个字符,就自动跳到第一个匹配的结果。
set ignorecase- 搜索时忽略大小写。
set smartcase- 如果同时打开了ignorecase,那么对于只有一个大写字母的搜索词,将大小写敏感;其他情况都是大小写不敏感。比如,搜索Test时,将不匹配test;搜索test时,将匹配Test。
- 编辑
set spell spelllang=en_us打开英语单词的拼写检查。set nobackup- 不创建备份文件。默认情况下,文件保存时,会额外创建一个备份文件,它的文件名是在原文件名的末尾,再添加一个波浪号(〜)。
set noswapfile- 不创建交换文件。交换文件主要用于系统崩溃时恢复文件,文件名的开头是.、结尾是.swp。
set undofile- 保留撤销历史。
- Vim 会在编辑时保存操作历史,用来供用户撤消更改。默认情况下,操作记录只在本次编辑时有效,一旦编辑结束、文件关闭,操作历史就消失了。
- 打开这个设置,可以在文件关闭后,操作记录保留在一个文件里面,继续存在。这意味着,重新打开一个文件,可以撤销上一次编辑时的操作。撤消文件是跟原文件保存在一起的隐藏文件,文件名以.un~开头。
1
2
3
4
5set backupdir=~/.vim/.backup//
set directory=~/.vim/.swp//
set undodir=~/.vim/.undo//
设置备份文件、交换文件、操作历史文件的保存位置。
结尾的//表示生成的文件名带有绝对路径,路径中用%替换目录分隔符,这样可以防止文件重名
set autoread- 打开文件监视。如果在编辑过程中文件发生外部改变(比如被别的编辑器编辑了),就会发出提示。