ideavim配置 引言 引言 :因为本人是重度vim用户,所以也想将clion、goland等ide也配置成vim,因此研究出以下配置
安装所需插件
IdeaVim
IdeaVimExtension
IdeaVim-EasyMotion
.ideavimrc文件配置 创建并打开.ideavimrc文件,将以下内容粘贴保存即可:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 " .ideavimrc is a configuration file for IdeaVim plugin. It uses " the same commands as the original .vimrc configuration. " You can find a list of commands here: https://jb.gg/h38q75 " Find more examples here: https://jb.gg/share-ideavimrc "" -- Suggested options -- " Show a few lines of context around the cursor. Note that this makes the " text scroll if you mouse-click near the start or end of the window. set scrolloff=4 " Do incremental searching. set incsearch "--在搜索时忽略大小写 set ignorecase "--将搜索匹配的文本高亮显示 set hlsearch "--设置返回normal模式时回到英文输入法 set keep-english-in-normal map Q gq " Highlight copied text Plug 'machakann/vim-highlightedyank' " Commentary plugin Plug 'tpope/vim-commentary' Plug 'preservim/nerdtree' Plug 'easymotion/vim-easymotion' set easymotion set surround " 修改函数声明中或者函数调用语句中的整个参数 """ daa: 删除这个参数,包括逗号 """ dia: 删除这个参数,不包括逗号 """ cia: 删除这个参数,不包括逗号,并进入编辑模式 """ vaa: 选中这个参数,包括逗号 set argtextobj " 设置 Leader 键为空格 let mapleader = " " set clipboard=unnamedplus " 设置tab空格数 set tabstop=4 set softtabstop=4 set expandtab " 设置自动缩进 set autoindex set shiftwidth=4 " 常用操作映射 nnoremap ww :wa!<CR> " 保存所有文件 nnoremap qq :q!<CR> " 退出 nnoremap <C-a> ggVG " 全选 "nnoremap da : nnoremap wq :wq!<CR> " 保存并退出 nnoremap <C-z> :undo<CR> " 撤销 nnoremap <C-S-z> :redo<CR> " 重做 " 缩进 nnoremap <Tab> >> vnoremap <Tab> >gv nnoremap <S-Tab> << vnoremap <S-Tab> <gv " 注释 nnoremap <C-/> :action CommentByLineComment<CR> vnoremap <C-/> :action CommentByLineComment<CR> " Buffer 和 Tab 管理 nnoremap <leader>h :action PreviousTab<CR> nnoremap <leader>l :action NextTab<CR> " 代码格式化 nnoremap <leader>lf :action ReformatCode<CR> vnoremap <leader>lf :action ReformatCode<CR> nnoremap <leader>lF :action ReformatInjectedLanguages<CR> vnoremap <leader>lF :action ReformatInjectedLanguages<CR> "打断点/解除断点 nmap dp <Action>(ToggleLineBreakpoint) "调试 nmap db <Action>(Debug) "运行当前编辑器中的文件或类(Shift + F10) nmap <leader>rc :action RunClass<CR> "重新运行最近一次运行的程序或测试(Ctrl+Shift + F10) nmap <leader>rr <action>(Rerun) "运行 map <leader>ru <action>(Run) "Stop nmap <leader>st <action>(Stop)on>(Run) "显示当前打开文件的文件结构弹出窗口,其中包含文件中的类、方法、字段等结构(Alt + 7) nmap <leader>cs <action>(FileStructurePopup) "用于显示方法或函数的参数信息(Ctrl + p) nmap <leader>sp <action>(ParameterInfo) "展开所有代码折叠区域(Ctrl + Shift + 加号键) nmap <leader>zo <action>(ExpandAllRegions) "折叠所有代码折叠区域(Ctrl + Shift + 减号键) nmap <leader>zc <action>(CollapseAllRegions) " 向右分割窗口 nmap vs :vsplit<CR> " 向下分割窗口 nmap sp :split<CR> " 快速打开文件目录(alt+1) "隐藏/显示窗口 nmap <leader>e <action>(HideAllWindows) " 跳转到定义 nnoremap gd :action GotoDeclaration<CR> " 跳转到操作 nnoremap ga :<C-u>action GotoAction<CR> " 跳转到实现 nnoremap gi :<C-u>action GotoImplementation<CR> " 跳转到文件 nnoremap gf :<C-u>action GotoFile<CR> "跳转到下一个错误或警告 nmap ge <action>(GotoNextError) " 跳转到以输入字母为开头的文本 map <leader><leader>b <Plug>(easymotion-bd-f) " 跳转到以输入字母为结尾的文本 map <leader><leader>e <Plug>(easymotion-bd-e) " 跳转到任意位置 map <leader><leader>a <Plug>(easymotion-jumptoanywhere) " 跳转到下面的行 map <leader><leader>j <Plug>(easymotion-j) " 跳转到上面的行 map <leader><leader>k <Plug>(easymotion-k)