Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/376.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在映射中使用的VIM问题_Java_Vim_Configuration_Mapping - Fatal编程技术网

Java 在映射中使用的VIM问题

Java 在映射中使用的VIM问题,java,vim,configuration,mapping,Java,Vim,Configuration,Mapping,我正在尝试向vim添加一个漂亮的映射,该映射使用command-t。我的想法是,我可以将光标放在一个类名上,点击f,该类的相关.java文件将立即在一个新的缓冲区中打开,我已将hidden设置为on 我的.vimrc包含 它工作得很好,只是光标词没有展开,我最终搜索的是=expand,而不是光标词本身 我也试过简单 map <leader>f :CommandT<cr><cword><tab><cr> 粘贴和搜索的效果大致相同。好消息

我正在尝试向vim添加一个漂亮的映射,该映射使用command-t。我的想法是,我可以将光标放在一个类名上,点击f,该类的相关.java文件将立即在一个新的缓冲区中打开,我已将hidden设置为on

我的.vimrc包含

它工作得很好,只是光标词没有展开,我最终搜索的是=expand,而不是光标词本身

我也试过简单

map <leader>f :CommandT<cr><cword><tab><cr>
粘贴和搜索的效果大致相同。好消息是如果我手动操作

map <leader>f :CommandT<cr>MyClassName<tab><cr>

它工作完美,因此至少理论是正确的。

您必须使用feedkeys:

nnoremap \f :<C-u>execute'CommandT'<Bar>call feedkeys(expand('<cword>')."\t\<LT>CR>",'t')<CR>
。其他一些注意事项:不要使用map,除非你真的需要重新映射,因此nore,我认为在这里没有必要,它的所有模式正常,运算符挂起和视觉,因此导致n


\t inside双引号字符串是\Tab>或内部映射的简写形式。您必须使用其中一个选项,首先将literal\插入字符串,然后将literal Tab插入字符串。

您必须使用feedkey:

nnoremap \f :<C-u>execute'CommandT'<Bar>call feedkeys(expand('<cword>')."\t\<LT>CR>",'t')<CR>
。其他一些注意事项:不要使用map,除非你真的需要重新映射,因此nore,我认为在这里没有必要,它的所有模式正常,运算符挂起和视觉,因此导致n

\t inside double-quoted string是\Tab>或内部映射的简写,您必须使用其中一个来首先将literal\插入字符串,或者第二个literal Tab。

使用,这就是它的用途

安装CTAG

为项目编制索引:

:!ctags -R .
set tags=./tags,tags:$HOME
确保Vim在项目中的任何位置都能找到正确的标记文件和项目索引:

:!ctags -R .
set tags=./tags,tags:$HOME
将光标放在方法或类名上,然后点击以下快捷方式跳转到定义:

<C-]>
或使用此选项打开新窗口:

<C-w>]
<C-w>}
这一个要跳回去:

<C-t>
或使用此选项在小预览窗口中显示签名:

<C-w>]
<C-w>}
请参阅:帮助标签了解更多信息。

使用,这就是它的用途

安装CTAG

为项目编制索引:

:!ctags -R .
set tags=./tags,tags:$HOME
确保Vim在项目中的任何位置都能找到正确的标记文件和项目索引:

:!ctags -R .
set tags=./tags,tags:$HOME
将光标放在方法或类名上,然后点击以下快捷方式跳转到定义:

<C-]>
或使用此选项打开新窗口:

<C-w>]
<C-w>}
这一个要跳回去:

<C-t>
或使用此选项在小预览窗口中显示签名:

<C-w>]
<C-w>}

有关更多信息,请参阅:帮助标签。

使用Command-T的额外好处是什么?为什么不简单:e?@romainl部分原因是我发现自己经常这样做,所以我想把它简化为一个组合键,部分原因是为了看看我是否可以:是的,我们都经常这样做,这就是为什么存在的原因。使用Command-T的额外好处是什么?为什么不简单:e?@romainl部分原因是我发现自己经常这样做,所以我想把它简化为一个组合键,部分原因是想看看我是否可以:是的,我们都经常这样做,这就是为什么存在的原因。感谢这个答案,它为我未来指明了一些新的方向。Ctags似乎是解决这个特殊问题的更好的方法。谢谢你的回答,它为我指明了未来的一些新方向。对于这个特殊的问题,Ctags似乎是一个更好的解决方案。这是一个非常棒的插件,谢谢你向我指出。Ctags不是一个插件:它是一个独立的程序,Vim可以很好地与之交互。如果你好奇的话,也可以看看cscope。这是一个非常棒的插件,谢谢你告诉我。ctags不是一个插件:它是一个独立的程序,Vim可以很好地与之交互。如果您感到好奇,请参见cscope。