ideavim配置 ideavim 是jetbrains 官方实现的插件和jetbrain 旗下的平台结合的很紧密,也可以通过设置实现vim 和jetbrains 旗下产品的深度绑定,但是只是实现vim 的部分功能。
无法通过 souce ~/.ideavimrc 来更新配置 必须通过再次打开软件来加载新的配置文件使其生效。
官方仓库
web-storm团队的一些入门介绍
Ideavim 有些插件可以通过官方仓库来安装,但是我看到ideavim 的仓库里这样介绍
If you reuse your existing .vimrc
file using source ~/.vimrc
, IdeaVim can parse and enable plugins that are defined using vim-plug or vundle . No additional set commands in ~/.ideavimrc
are required
可以解析一部分vim 插件,插件是通过idea vim 模拟的。不是原生的vim 插件
支持的插件有以下这些
vim-easymotion
NERDTree
vim-surround
vim-multiple-cursors
vim-commentary
argtextobj.vim
vim-textobj-entire
ReplaceWithRegister
vim-exchange
vim-highlightedyank
vim-paragraph-motion
vim-indent-object
match.it
通过插件提供的 IdeaVim: track action Ids
来查找ID 两下shift
来查找 可以帮经常使用的快捷键录制下来,制作成常用的暗转
官方演示gif
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 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 " 搜索设置 set incsearch set hlsearch set ignorecase " 搜索时智能匹配大小写 set smartcase set wrapscan "环形搜索 " 关闭搜索高亮 nnoremap <leader>/ :nohl<CR >"""""" """""" """""" """""" """""" """""" """""" "" 通用设置"语法高亮显示 syntax on " 不使用兼容模式 set nocompatible"显示行号 set number " 显示相对行号 set relativenumber"显示光标所在位置的行号和列号 set ruler " 自动折行 set wrap"移位操作 >> 或 << 的缩进长度(以空格的数量表示) set shiftwidth=4 " 设置文件里的制表符 (TAB ) 的宽度(以空格的数量表示 set tabstop=4 set softtabstop=4 "换行的时候下一行使用上一行的缩进 set smartindent " 将tab替换为相应数量空格 set expandtab set backspace=2 " 上下滚动的时候保留5行 set co=5 " 突出显示当前行 set cursorline" 禁止创建备份文件 set nobackup " 禁止创建交换文件 .swp 开头 set noswapfile" Vim 的默认寄存器和系统剪贴板共享 set clipboard+=unnamed " 显示当前的模式 set showmode"光标距窗口上下保留 5 行 set scrolloff=5 " 显示文件名、行号和列号 set laststatus=2 "创建undo文件 " set undofile"关闭错误响铃 set noerrorbells " 屏幕命令显示 set showcmd"当前所处的模式" set showmode"显示匹配的括号" set showmatch" 参考 https://linux265.com/news/3395.html " 参考 http:"""""" """""" """""" """""" """""" """""" """""" "" 通用设置 结束"""""" """""" """""" """""" """""" """""" """""" " ideavim 插件配置 " 设置space为leaderlet mapleader=" " "sneak 插件 s/S {char}{char} 跳转 set sneak " 启用vim surround功能 set surround"启用e asymotin 插件 set easymotion " 为IdeaVim 插件增加自动切换为英文输入法的功能"set keep-english-in-normal Plug 'preservim/nerdtree` map <c-t> :NERDTree> " """""" """""" """""" """""" """""" """""" """""" ideavim 插件配置 结束"""""" """""" """""" """""" """""" """""" """""" " idea的动作映射" "idea的动作映射 https://github.com/JetBrains/ideavim#executing-ide-actions " 撤回 nnoremap U <C -r>" 复制到行尾 nnoremap Y y$ " 格式化代码 \r map \r <Action >(ReformatCode )" Debug map <leader>d <Action>(Debug) " 运行当前文件 nnoremap <leader>r :action RunClass <CR >"改变量名 nnoremap <leader>s :action RenameElement<CR> " 新建一个文件 nnoremap <leader>n :action NewFile <CR >"Ctrl + Shift + I查看快速定义 nnoremap <leader>v :action QuickImplementations<CR> noremap <leader>gc :action GotoClass<CR> " noremap / :action Find <CR >"noremap f :action AceAction<CR> " noremap F :action AceTargetAction <CR >" 后退 nnoremap [[ :action Back<CR> " 前进" noremap ]] :action Forward<CR> " 弹出输入框,可以跳到指定类 nnoremap <Space >gc :action GotoClass <CR >" 弹出输入框,跳转到指定操作 nnoremap <Space>ga :action GotoAction<CR> " 跳转到定义 nnoremap <leader>gd :action GotoDeclaration <CR >" 跳转到实现 nnoremap <Space>gi :action GotoImplementation<CR> " 跳转到指定的文件 nnoremap <Space >gf :action GotoFile <CR >" 跳转到方法的声明 nnoremap <Space>gs :action GotoSuperMethod<CR> " 跳转到测试"nnoremap <Space>gT :action GotoTest<CR> " 弹出输入框,跳转到符号 nnoremap <Space >gS :action GotoSymbol <CR >" 弹出输入框 跳转到文件结构 不是command +7 noremap <leader>fs :action FileStructurePopup<CR> " noremap <leader>v :action VimVisualToggleBlockMode <CR >" 查找使用 nnoremap <Space>fu :action FindUsages<CR> " 显示使用 nnoremap <Space >su :action ShowUsages <CR >" 窗口切换 nnoremap <Space><TAB>:action Switcher<CR> " 查看文档 F1 键 nnoremap <Space >h :action QuickJavaDoc <CR >" 显示错误信息 鼠标悬停在错误页面上的效果 nnoremap <Space>se :action ShowErrorDescription<CR> " nnoremap :action ShowErrorDescription 鼠标悬停在错误页面上的效果" gh=go head, 映射vim中的^ nnoremap gh ^ " gl=go last,映射vim中的$ nnoremap gl $" Window operation " nnoremap <Space >ww <C -W >w "切换窗口" "nnoremap <Space>wc <C-W>c " 关闭窗口" " nnoremap <Space >wj <C -W >j"nnoremap <Space>wk <C-W>k " nnoremap <Space >wh <C -W >h"nnoremap <Space>wl <C-W>l " nnoremap <Space >ws <C -W >s"nnoremap <Space>w- <C-W>- " nnoremap <Space >w+ <C -W >+
掘金上有篇文章介绍的还挺全的 但是我不是Java 开发有好些功能用不上传送门 在这,还是根据自己的需要定制,适合自己的才是最好的
插件用法介绍 Ace-jump 插件
Vim-surround
https://blog.csdn.net/zwlove5280/article/details/108276285
参考文章
1 2 3 4 5 6 7 8 9 10 11 12 "https://javaforall.cn/186961.html " https://blog.csdn.net/weixin_33859844/article/details/91658609"https://github.com/JetBrains/ideavim#executing-ide-actions " https://github.com/JetBrains/ideavim/wiki/%22set%22-commands"https://blog.csdn.net/kl28978113/article/details/53980440 " https://gist.github.com/AlexPl292/50a3ff4cef1badcbb23436b22cbd3cf4" " https://blog.csdn.net/weixin_33859844/article/details/91658609" " https://zhuanlan.zhihu.com/p/404818431" " https://zhuanlan.zhihu.com/p/579636452" " https://www.jianshu.com/p/ddd56ceeb83d"
isneedpay