因此,我试图在python中实现一个自定义completefunc,但我无法正确地实现代码的接口。我是在它为我提供(最初)一个来自固定目录的文件名列表之后(这个列表很快就会被另一个列表所取代)。
我最近的尝试如下:
function! CompleteNVIM(findstart,base)
python <<
import vim
import os
def complete( base ):
matches = [ "'"+os.path.splitext(x)[0]+"'" for x in os.listdir(
我查看了Gentoo的ebuilds是如何生成的,我发现了以下代码:
_VIM_PLUGIN_ALLOWED_DIRS=(
after autoload colors compiler doc ftdetect ftplugin indent keymap
macros plugin spell syntax
)
local d
for d in "${_VIM_PLUGIN_ALLOWED_DIRS[@]}" "${@}"; do
[[ -d "${d}" ]] || continue
我是最近从Vim转变为邪恶模式的人,我正在努力使环境更加熟悉。我想念的事情之一是Vim中的find命令。我试图在Emacs中设置类似的东西,方法是将find-file命令包装在一个函数中。到目前为止我有这样的想法:
(defun find nil
"Shadow vim find command, with helm."
(interactive)
(find-file))
当我运行命令时,它对我大喊大叫,Wrong number of arguments {doc string} 0,我尝试了添加参数,但没有成功。真正令人困惑的一点是,我用同样的方式隐藏了一个舵机
在我的.vimrc的末尾,我想有条件地启动一个命令,打开我的待办事项列表。
问题是,我只在使用vim或gvim时才想要这种行为。
目前,如果启动vim foo.bar,我也会加载该缓冲区,这非常不方便,因为我必须切换回foo.bar
所以基本上我希望能够写一些类似这样的东西:
if (some condition telling me that I am on the defaut buffer)
silent LaunchTaskList
endif
# allow CTRL-Q and CTRL-S keybindings
vim() {
(
# No ttyctl, so we need to save and then restore terminal settings
# osx users, use stty -g
local STTYOPTS="$(stty --save 2> /dev/null)"
trap "stty $STTYOPTS" EXIT
stty stop '' start '' -ixoff
是否可以显示所有键盘映射的有序列表,以及当前vim环境的,如下所示:
a: append
b: back one word
c: ...
.
.
.
---- Ctrl mappings ----
<C-a> (I dont know...)
.
.
.
<C-p> Default mode for CrtlP
...
---- Alt mappings ----
...
这对我很有用。
我对VIM和clang_complete很陌生。我成功地安装了clang_complete,它看起来很好用,但是它的完成与我所期望的不一样。例如,我查看了一个教程,并期望类似于这个动画gif:中的行为。
我就是这样做的:
vim test.cpp
在VIM中,我按i进入插入模式。
我按<C-x><C-u>打开自动完成列表
我按<C-n>两次选择第二个条目
我按回车确认选择
现在,我在VIM中有了以下一行:
using
但我认为应该是这样的:
using namespace $\'identifier' (“必须”替
假设我打开了没有参数的vim,然后在vim中打开了10个.txt文件和10个.py文件。另外,假设文件分散在我的文件系统中。缓冲区列表包含所有20个文件。 现在我想将这10个.py文件添加到参数列表中。我想做一些类似:argadd *.py的事情,但这只是创建一个名为'*.py‘的新文件,并将其添加到参数列表中。 我从帮助中看到,argdelete可以使用模式,所以我可以用:argd *.py删除所有的.py文件。有没有办法为:arga[dd]做类似的事情? :[count]arga[dd] {name} ..
Add the {name}s to the a
我有一个带有一些文件夹名的MATLAB项目,从一个+ (包)开始。当我试图从命令行用vim打开这些命令时,例如:
vim +mytools/extrema.m
我犯了个错误
E492: Not an editor command mytools/extrema.m
当我试图使用:e从vim中加载这些文件时,也会发生这种情况。当使用:Explore时,我可以导航到文件夹中,并在那里打开文件,没有任何问题。
是否有一种方法可以配置vim以处理这些路径?
注意:在本例中,不能重命名文件夹,因为MATLAB包必须以+标志开始。
我有一个脚本,看起来像这样
cd ~/.vim/bundle/supertab
git pull
cd ~/.vim/bundle/syntastic
git pull
cd ~/.vim/bundle/vim-alternate
git pull
cd ~/.vim/bundle/vim-easymotion
git pull
cd ~/.vim/bundle/vim-matchit
git pull
cd ~/.vim/bundle/vim-togglemouse
git pull
我想要更新它,这样它就可以循环遍历列表,这样我就可以在不重复显式代码的情况下得到一些改进的输出。我很擅长sh
我正在检查我的档案整理它们。我注意到,随着时间的推移,我以各种不一致的方式添加了各种文件类型的特定设置。让我们假设我正在为Python定制:
au BufRead,BufNewFile *.py (do something)。我不喜欢这样做,因为有些Python文件可能没有.py终止。
au FileType python (do something)。这似乎是一个更好的选择,因为它不依赖于具有.py终止的文件。缺点是Vim不知道一些文件类型。我可以让Vim识别其他文件类型,但我也有各种不一致的方法:一个.vim/filetype.vim文件,另一个在.vim/after/filety