像在vim在中一样使用androidstudio

本文参考:
http://ideavim.sourceforge.net/vim/insert.html
http://ideavim.sourceforge.net/vim/motion.html
https://github.com/saaguero/ideavimrc

为什么很多人都选择 OS X + Vim + IntelliJ IDEA

androidstudio拥有华丽的界面提示以及各种强大的插件,比如自动补全。但是原有的快捷键比较难以操作,大多在fn功能键上。对于习惯vim编辑的人而言操作起来非常不方便而且也不想去记这些快捷键。而ideavim拥有方便快捷的快捷键操作以及可以扩展studio的快捷键。所以我们可以在ideavim的基础上修改studio原有的快捷键,让androidstudio基本操作可以vim的对应起来,也可以让vim的快捷键操作androidstudio的插件。


1修改快捷键映射

androidstudio中很多快捷键都在fn上,把大部分的Fn的功能键都映射成空格加对应的数字按键。比如显示错误信息的< c-f1 >映射成< space >1外部文件链接改为< c-1 >。修改方法方法是可以看github中给出的方法
:actionlist [pattern]
Find IDE actions by name pattern
:action {name}
Execute an action named NAME

还是以 < c-f1 >为例,显示错误信息。在编辑窗口输入:actionlist error之后看到提示。
查找显示错误信息的动作>
所以ShowErrorDescripttion就是我们要找的动作的名称了
接着把这个动作映射到< space >1 上,执行

:nnoremap <space>1 :action ShowErrorDescripttion<cr>

就可以按下空格键和1显示错误信息了。想要每次启动自动执行可以写到~/.ideavimrc中。


2使用androidstuido中强大的插件

原有的studio操作快捷键改成vim,让studio的强大的界面显示结合vim方便的快捷键。比如标志书签和跳到书签,原有的ideavim是没有提示的。而androidstuido有华丽的界面提示。按下< c-f11 >可以看到标签提示界面
标签提示界面
按下< s-f11 >可以看到跳转提示界面
跳转提示界面
把< c-f11 >映射到m上 ,< s-f11 >映射到`上,以后每一次按下vim的书签快捷键都可以显示这些提示了。

 nnoremap m :action ToggleBookmarkWithMnemonic
 nnoremap ` :action ShowBookmarks

下面的配置文件来自https://github.com/saaguero/ideavimrc/blob/master/.ideavimrc。可以自己做些修改。

set hlsearch
set scrolloff=3
set ignorecase smartcase
set showmode
set history=1000

" easy system clipboard copy/paste
noremap <space>y "*y
noremap <space>Y "*Y
noremap <space>p "*p
noremap <space>P "*P

" easy window navigation
nnoremap <c-l> <c-w>l
nnoremap <c-j> <c-w>j
nnoremap <c-h> <c-w>h
nnoremap <c-k> <c-w>k
nnoremap <a-h> gT
nnoremap <a-l> gt

" clear the search buffer when hitting return
nnoremap <space><cr> :nohlsearch<cr>

" options
nnoremap cow :action EditorToggleUseSoftWraps<cr>
nnoremap col :action EditorToggleShowWhitespaces<cr>

" actions
nnoremap <space>q :action CloseContent<cr>
nnoremap <space>Q :action ReopenClosedTab<cr>
nnoremap <space>\ :action VimFilePrevious<cr>
nnoremap <space>e :action GotoClass<cr>
nnoremap <space>E :action Switcher<cr>
nnoremap <space>t :action FileStructurePopup<cr>
nnoremap <space>T :action GotoSymbol<cr>
nnoremap <space>a :action GotoAction<cr>

" code navigation
nnoremap <space>] :action GotoImplementation<cr>
nnoremap <space>[ :action GotoSuperMethod<cr>
nnoremap <space>u :action FindUsages<cr>
nnoremap <space>gt :action GotoTest<cr>
nnoremap \r :action RunClass<cr>
nnoremap \d :action Debug<cr>
nnoremap [m :action MethodUp<cr>
nnoremap ]m :action MethodDown<cr>

" code refactoring
nnoremap <space>rr :action RenameElement<cr>

" unimpaired mappings
nnoremap [<space> O<esc>j
nnoremap ]<space> o<esc>k
nnoremap [q :action PreviousOccurence<cr>
nnoremap ]q :action NextOccurence<cr>

" built-in navigation to navigated items works better
nnoremap <c-o> :action Back<cr>
nnoremap <c-i> :action Forward<cr>
" but preserve ideavim defaults
nnoremap g<c-o> <c-o>
nnoremap g<c-i> <c-i>

" built in search looks better
nnoremap / :action Find<cr>
" but preserve ideavim search
nnoremap g/ /
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值