首页 > 代码库 > Vim 基本配置和常用命令
Vim 基本配置和常用命令
vim 的优势与应用场景
vim 的优势在于纯粹的编辑及 Linux 自带与命令行的完美集成。如果只能 ssh 到服务器进行操作,那么这种情况就只能使用 vim 了。vim 也是最为强大的通用文本编辑器之一,对于需要编辑不同文本的情景,vim 也是相当有优势的。所以,熟练掌握一下 vim 的基本使用还是很有必要的。
vim 是在 vi 基础上加很多新特征发展而来,gvim 则给 vim 加上了图形前端。如果在 Windows 下使用 vim,可以直接安装最新的 gvim。
- Linux 中一般在用户 home 目录建一个 .vimrc 文件进行修改。而不是去修改 /etc/vim 目录下的全局配置,影响所有用户。
- Windows 中 vimrc 位于 C:\Program Files (x86)\Vim 目录下,名字是 _vimrc, 如果按装了 everything ,则直接搜索 vimrc 一步就可定位。
vim 的配置文件 vimrc
"----------------------------------------------------------------------------------- :imap ii <Esc> " 按键映射 <ESC> -> ii "外观 colorscheme evening " 配置颜色主题 set guifont=Consolas:h12 " 设置字体和大小 set number " 显示行号 set guioptions-=T " 隐藏工具栏 set ruler " 打开状态栏标尺 set cursorline " 突出显示当前行 set syntax=on " 语法高亮 set showmatch " 高亮显示匹配的括号 set matchtime=3 " 匹配括号高亮的时间(单位:0.1s) set scrolloff=10 " 光标到屏幕底端保留 10 行 (光标位于屏底看着很不舒服的) "搜索 set ignorecase smartcase " 搜索忽略大小写,但有大写字母时仍保持大小写敏感 set hlsearch " 高亮搜索 set incsearch " 增量式搜索,逐字符高亮 "操作 set clipboard+=unnamed " 共享剪切板 set showcmd " 输入的命令显示出来 set iskeyword+=_,$,@,%,#,- " 带有如下符号的单词不要被换行分割 set noexpandtab " 不用空格代替Tab (makefile是会经常用Tab的) set tabstop=4 " Tab 键的宽度 set shiftwidth=4 " 行交错宽度 set mouse=a " 鼠标可用 set autoindent " 继承前一行的缩进方式,特别适用于多行注释 "备份 set confirm " 未保存或者只读时,弹出确认 set nobackup " 不生成备份文件 setlocal noswapfile " 不生成 swap 文件 set bufhidden=hide " 当 buffer 被丢弃的时候隐藏 set noerrorbells " 不发出警告声 "解码 set fenc=utf-8 set fencs=utf-8,usc-bom,euc-jp,gb18030,gbk,gb2312,cp936
vim 的常用命令
# 效率 . # 重复最近的文本操作 # 文件 :q # 退出 q->quit :w # 保存 w->write :q! # 强制退出不保存 :wq # 保存后退出 ZZ # 保存后退出,同 :wq # 光标移动 hjkl # 最基本的左下上右,移动一个字符 zz # 光标做在行移动到屏幕中间 w # 向前移动一个单词,光标停在单词首部 b # 向后移动一个单词, 光标停在单词首部 e # 同 w, 光标停在单词尾部 ge # 同 b, 光标停在单词尾部 0 # 本行第一个字符 (同 <HOME> 键) ^ # 本行第一个非空白字符 $ # 移动到行尾 (同 <END> 键) gg # 移动到文件头 G # 移动到文件尾 fx # 移动到光标后第一个为 x 的字符 find Fx # 同 f,反向移 Ctrl+d # 向下滚动半屏 Ctrl+u # 向上滚动半屏 Ctrl+f # 向下滚动半屏 Ctrl+b # 向上滚动半屏 % # 跳转到配对的括号 (常用) ( # 移动到当前句子开始 ) # 移动到下一句子开始 H # 移动页面顶部 H->High M # 移动页面中部 M->Middle L # 移动页面底部 L->Low # 查找 /test # 查找 text ,(记得用正则表达式), 然后 n 向下, N 向上 n->next ?test # 查找 text ,反向 # 替换 ra # 当前字符替换为 a , r->replace %s/old/new/g # 替换全文的所有的匹配 g->global %s/old/new/ # 替换所有行第一个匹配 s/old/new/g # 替换当前行所有匹配 s/old/new/ # 替换当前行第一个匹配 # 插入 a # 在当前位置后插入 a->append A # 在当前行尾插入 i # 在当前位置插入 i->insert I # 在当前行首插入 o # 在当前行之后插之一行 O # 在当前行之前插入一行 # 选中 v # 从光标当前位置开始,光标所经过的地方会被选中,再按一下 v 结束 (类似 <shift>+方向建) v->view 可视模式 V # 从光标当前行开始,光标经过的行都会被选中,再按一下 V 结束 # 删除 d # 删除选中 (删除内容到了缓冲区可以被粘贴,相当于剪切) d->delete x # 删除当前字符 3x # 删除当前光标向后三个字符 (vim 经常用 <数字>+<命令> 组合) dd # 删除当前行 d$ # 删除当前字符到行尾 %->正则中就是行尾 3d # 删除当前行开始三行 J # 合并两行 (即删除当行尾换行符) J->join # 撤销 u # 撤销 u->undo U # 撤销对正行的操作 Ctrl+r # 恢复撤销 # 复制粘贴 y # 复制选中 yy # 复制当前行 p # 在当前光标后粘贴,如果复制了一行则粘贴到下一行 p-paste P # 在当前光标前粘贴 ddp # 交换当前行和下一行 (巧妙运用了剪切粘贴) xp # 交换当前字符和下一个
Vim 基本配置和常用命令
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。