Vim,作为编程和系统管理中的强大工具,以其丰富的功能和高度可定制性著称。
在这篇文章中,我们将探索 Vim 的一些高效使用技巧,从打开文件的快捷方法到文本编辑、查找、替换、删除和复制的高级技巧,再到 Vim 配置和插件安装,帮助你提升 Vim 使用技能。
vim 打开文件的快捷方法Vim 提供了多种打开文件的选项,让你的工作更加高效:
vim 使用的选项说明vim -r filename恢复上次 vim 打开时崩溃的文件vim + filename打开文件,并将光标置于最后一行的首部vim +n filename打开文件,并将光标置于第 n 行的首部vim +/pattern filename打幵文件,并将光标置于第一个与 pattern 匹配的位置vim -c command filename在对文件进行编辑前,先执行指定的命令命令行模式下的常用命令Vim 的命令行模式提供了丰富的快捷命令,以下是一些常用的:
命令说明set nu显示行号set nonu取消显示行号set ic忽略大小写set noic取消忽略大小写yy复制光标所在行p粘贴u撤销ctrl + r反撤销(恢复撤销)ctrl+d翻页 向下翻ctrl+b翻页 向上翻/关键字查找dd删除当前行x删除单个字符o (小写)下行插入O (大写 shift +o)上行插入a字符后插入A行末插入数字 0 或者 ^光标移动到当前行的行首$光标移动到当前行的行尾gg光标移动到文件开头G光标移动到文件末尾vim 查找文本要查找的字符串是严格区分大小写的,比如需要查找 alex 和 Alex 会得到不同的结果
快捷键功能描述/abc从光标所在位置向前查找字符串 abc/^abc查找以 abc 为行首的行/abc$查找以 abc 为行尾的行?abc从光标所在为主向后查找字符串 abcn向同一方向重复上次的查找指令N向相反方向重复上次的查找指定vim 替换文本快捷键功能描述r替换光标所在位置的字符R从光标所在位置开始替换字符,其输入内容会覆盖掉后面等长的文本内容,按“Esc”可以结束:s/a1/a2/g将当前光标所在行中的所有 a1 用 a2 替换:n1,n2s/a1/a2/g将文件中 n1 到 n2 行中所有 a1 都用 a2 替换:g/a1/a2/g将文件中所有的 a1 都用 a2 替换vim 删除文本快捷键功能描述x删除光标所在位置的字符dd删除光标所在行ndd删除当前行(包括此行)后 n 行文本dG删除光标所在行一直到文件末尾的所有内容D删除光标位置到行尾的内容复制文本快捷键功能描述p将剪贴板中的内容粘贴到光标后P(大写)将剪贴板中的内容粘贴到光标前y复制已选中的文本到剪贴板yy将光标所在行复制到剪贴板,此命令前可以加数字 n,可复制多行yw将光标位置的单词复制到剪贴板配置配置文件 ~/.vim/vimrc# 将 leader 键更改为空格键let mapleader=" "# 增加兼容性的常规设置set nocompatiblefiletype onfiletype indent onfiletype plugin onfiletype plugin indent on# 让 vim 编辑器可以使用鼠标set mouse=a# 设置编码格式# set encoding=utf-8# 有些终端颜色可能会出问题,加上这一行之后就会好很多let &t_ut=''# 按一下 tab 键,缩进为 4 个空格set expandtabset tabstop=4set shiftwidth=4set softtabstop=4# 显示高亮syntax on# 显示行号set number# 显示当前活动行号set relativenumber# 当前光标处,显示一条横线set cursorline# 当前行不会超出当前窗口,自动换行set wrap# 显示按键输出set showcmd# 提示set wildmenu# 搜索词高亮 high light searchset hlsearch# 进入命令行模式时,自动取消高亮exec "nohlsearch"# 边输入,边高亮set incsearch# 搜索时,忽略大小写set ignorecase# 智能大小写set smartcase# 设置键盘映射# 将 n 键映射为 h 也就是说当按了 n 键,相当于按了 h 键noremap n h# 设置快捷指令# 删除小写 s 键对应的功能map s # 按了大写 s 键,相当于 `:w 回车` 即为快捷保存文件指令map S :w# 退出map Q :q# 重新加载 vim 配置文件map R :source $MYVIMRC# 向右分屏map sl :set splitright:vsplit# 向左分屏map sh :set nosplitright:vsplit# 向上分屏map sk :set nosplitbelow:split# 向下分屏map sj :set splitbelow:split# 当前屏,纵向分屏map sv tH# 当前屏,横向分屏map sb tK# 当前配置文件最上方已经将 leader 键更改为空格键,那么这里就是 空格+k 代替了 Ctrl+w# 分屏之后,光标向上移动map k k# 分屏之后,光标向下移动map j j# 分屏之后,光标向左移动map h h# 分屏之后,光标向右移动map l l# 横向的分屏往上加 5map :res +5# 横向的分屏往下减 5map :res -5# 纵向的分屏宽度减 5map :vertical resize-5# 纵向的分屏宽度加 5map :vertical resize+5# 新建标签页map tn :tabe# 查看左边的标签页map tl :-tabnext# 查看右边的标签页map tr :+tabnext安装插件在 ~/.vim/vimrc 配置文件中
call plug#begin('~/.vim/plugged')# 安装 vim-airline 插件Plug 'vim-airline/vim-airline'# 安装配色Plug 'connorholyday/vim-snazzy'call plug#end()# 详见 https://github.com/connorholyday/vim-snazzy# 设置配色color snazzy# 设置透明背景let g:SnazzyTransparent = 1# 然后在命令行模式下输入# :PlugInstallVim 是一个功能强大的文本编辑器,通过熟练掌握其快捷键和配置,你可以极大提升编辑效率。希望这篇文章能帮助你更好地使用 Vim,成为文本编辑的高手。