Vim 快捷键及配置

本文详细介绍了Vim编辑器的配置文件(.vimrc)设置,包括插件管理、自启动功能、语法高亮、窗口操作及常用快捷键。通过实例展示了如何使用Vundle插件管理器,以及如何配置诸如NERDTree、fzf、vim-airline等流行插件。此外,还提供了丰富的Vim快捷键说明,涵盖文件导航、窗口切换、文本编辑等方面。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.Vim 配置文件

~/.vimrc,修改配置都是在这里边:

set nocompatible              " be iMproved, required
filetype off                  " required

" set the runtime path to include Vundle and initialize
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
" alternatively, pass a path where Vundle should install plugins
"call vundle#begin('~/some/path/here')

" let Vundle manage Vundle, required
Plugin 'VundleVim/Vundle.vim'

" The following are examples of different formats supported.
" Keep Plugin commands between vundle#begin/end.
Plugin 'scrooloose/nerdtree'
Plugin 'Xuyuanp/nerdtree-git-plugin'
Plugin 'tpope/vim-fugitive'
Plugin 'vim-airline/vim-airline'
Plugin 'vim-airline/vim-airline-themes'
Plugin 'junegunn/fzf'
Plugin 'editorconfig/editorconfig-vim'
"Plugin 'ycm-core/youcompleteme'"
"Plugin 'vim-clang'
Plugin 'rhysd/vim-clang-format'

" All of your Plugins must be added before the following line
call vundle#end()            " required
filetype plugin indent on    " required
" To ignore plugin indent changes, instead use:
"filetype plugin on
"
" Brief help
" :PluginList       - lists configured plugins
" :PluginInstall    - installs plugins; append `!` to update or just :PluginUpdate
" :PluginSearch foo - searches for foo; append `!` to refresh local cache
" :PluginClean      - confirms removal of unused plugins; append `!` to auto-approve removal
"
" see :h vundle for more details or wiki for FAQ
" Put your non-Plugin stuff after this line

autocmd vimenter * NERDTree
set colorcolumn=120

"#######################Tlist###################################"
let Tlist_Show_One_File=1
let Tlist_Exit_OnlyWindow=1
let Tlist_Use_Right_Window=1

"#######################Clang format############################"
let g:clang_format#auto_format_on_insert_leave=1

"#######################Custom command##########################"
set number
set cursorcolumn
set cursorline
set hlsearch


1.1 vimrc文件中可以设置要安装的插件:

     “Plugin 'junegunn/fzf' ”, 注释是使用    “,双引号。插件的一些配置:let Tlist。。。

1.2 设置vim 启动自启功能:

      set number

2. Vim 快捷键:

Ctrl +l ;Ctrl + o, 前进、后退

Ctrl + p 补全

Shift + * 查找 (可以配合 set hlsearch 做高亮显示)
Ctrl + w + 左右键 (切换分割的窗口)

选中单词并复制:

1.光标移动到aaa的开头,按 v 按e 按y

2.光标移动到bbb的开头,按 v 按e 按p

快速选中一个单词,按v按e即可。

函数列表:

ctags -R .  可以对当前目录下,所有目录递归的进行搜索,产生一个tags文件。

TlistToggle 打开函数列表

使用 Ctrl + ] 跳转进入深层函数后,可以通过 Ctrl + t返回

窗口相关:

vsplit (可变参数,默认把当前文件在右侧打开,后边可以加文件路径)

split (同vsplit, 在下方打开文件)

Ctrl +w Ctrl +v 等同于 vsplit

Ctrl + - 窗口显示大化; Ctrl + 0复归

nmap > 		<C-w>> “窗口调整”
nmap < 		<C-w><
nmap + 		<C-w>+
nmap _ 		<C-w>-
nmap <C-j>	<C-w>j “切换光标”
nmap <C-h>	<C-w>h
nmap <C-k>	<C-w>k
nmap <C-l>	<C-w>l

跳转:

跳转到行内某个字符(比如字符a):往后跳f + a,往前跳F + a。另外还有t键,往后跳到某字符前面t + a,往前跳到某字符后面T + a

double [ and double ] 函数跳转,跳到函数头或者尾。

括号匹配:
% 可以让光标从它当前所在的括号跳转到与它相匹配的括号上去, 对花括号和
圆括号, 方括号都有效, 常用于手工检查括号是否匹对.

转载:

————————————————
版权声明:本文为优快云博主「大娱乐家cpy」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.youkuaiyun.com/qq_42475711/article/details/99646284

文件内跳转

    移动光标
        普通模式下左h,右l,上k,下j。(可以使用数字+hlkj,实现跳跃式移动)。

    字符间跳转
        跳转到当前字符的前面:普通模式下i。
        跳转到当前字符的后面:不同模式下a。

    字符串间跳转
        向右跳:普通模式下跳转到串首w,普通模式下跳转到串尾e。
        向左跳:普通模式下跳转到串首b,普通模式下跳转到串尾be(这个似乎没有专门的指令)。
        高亮文件内的某字符串所有出现处,并在高亮处跳转:先将光标移动值至目标字符串处按*。
            高亮匹配结果中往下跳:n。
            高亮匹配结果中往上跳:N。
              关闭高亮:noh。

    行内跳转
        跳转到行末:普通模式下键入$光标移至行末,普通模式下键入A光标移至行末且进入插入模式。
        跳转到行首:普通模式下键入0(^会忽略行首的空格,跳到第一个非空格字符处,0则跳到第一列)光标移至行首,普通模式下键入I光标移至行首且进入插入模式。
        跳转到行内某个字符(比如字符a):往后跳f + a,往前跳F + a。另外还有t键,往后跳到某字符前面t + a,往前跳到某字符后面T + a。

    行间跳转
        跳转到文件的首行:普通模式下gg。
        跳转到文件的尾行:普通模式下G。
        普通模式下跳转到指定行:100gg或者100G。
        命令模式下跳转到指定行: :100。
        ps:以上两种形式都能跳转到文件的指定行(第100行)。
        跳转到文件的50%:50%。
        在可视行(可视行指Vim看起来是单独的一行,实际是某一行内容太多而换行显示,可视行不会累加行号。相对的就是实际行,实际行累加行号)间跳转:往上gk,往下gj。

    符号间跳转
        函数体间的跳转(注:只能跳到函数体开头,即{处)。
            跳到上一个函数体:[[。
            调到下一个函数体:]]。
        匹配字符{}、[]、()间的跳转:%。

    屏幕移动(翻页)
        保持光标位置不变(不变是相对的,当光标所在行超出光标可活动行范围时,光标保持在最上/最下可活动行)移动屏幕:向上翻页ctrl + y,向下翻页ctrl + e。
        滚动半屏:向上滚动半屏ctrl + u,向下滚动半屏ctrl + d。
        滚动一屏:向上滚动一屏ctrl + b,向下滚动一屏ctrl + f。

    文件间跳转

        Buffer缓存文件间跳转
            跳转到下一个Buffer文件::bn。
            跳转到上一个Buffer文件::bp。

        .h和.c文件间的跳转(此内容依赖于插件vim-scripts/a.vim)
            .h和.c文件切换::A。
            跳转到光标所在的问紧啊::IH,这个指令用来跳转到#include后面的文件很有用。

    针对光标的跳转

        光标历史位置往前(旧)调ctrl i。

        光标历史位置往后(新)调ctrl o。

        特殊位置标记的跳转(注意:以下这些跳转动作都只能在文件内,不支持跨文件跳转)
            跳转到上次修改的地方:``.`。
            跳转到上次进入插入模式的地方:``^`。
            给文件某位置(这里的位置是你添加标记时的光标位置)添加标记后跳转。添加标记:m a~z,这里的a~z既能是大写也能是小写,是区分大小写的。跳转到某标记位置:a~z, 这个标记要是已经添加过的。
              删除某个标记::delmarks a~z,删除全部标记::delmarks!。

    有关语法的跳转(前提时ctags已经生成了标签)
        跳转到定义处:ctrl ]。
        跳转到声明处:[然后ctrl i。

撤回修改: u; 撤回撤回修改:ctrl + r

切换到terminator: ctrl + z; 回到vim : fg

Terminator:

grep -rn "Hello" ./  在当前文件夹下递归查找“Hello”
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值