我开始使用一个与我现有地图冲突的插件,但我不想重新映射所有地图,我只想添加一个前缀。我以为我可以用 LocalLeader 做到这一点。
Vimdoc 说:
<LocalLeader>就像<Leader>,除了它使用“maplocalleader”而不是“mapleader”。<LocalLeader>用于缓冲区本地的映射。
似乎设置 localleader 的唯一方法是设置一个全局变量(文档没有提到这一点,但b:maplocalleader没有用):
let maplocalleader = '\\'
Run Code Online (Sandbox Code Playgroud)
而且我不知道我如何干净地取消设置该变量(在设置插件后清除它的 autocmd!?)
有没有办法做到这一点?还是 LocalLeader 只提供一个全局前缀和一个特定于文件类型的前缀?
我最近安装了一些插件,所以我可以使用 Vim 作为我的开发 IDE。看起来有些插件不能很好地相互配合。
目前,我的插件目录中有以下 vim 插件:
我的 ~/.vimrc 文件有以下内容:
autocmd BufRead *.vala,*.vapi set efm=%f:%l.%c-%[%^:]%#:\ %t%[%^:]%#:\ %m
au BufRead,BufNewFile *.vala,*.vapi setfiletype vala
set nocp ts=4 sw=4 noet ai cin bs=2 cb=unnamed
set number ruler wrap autoread showcmd showmode fdm=marker nobackup
syntax on
filetype plugin on
set incsearch
set tags=./tags;/
map <C-\> :tab split<CR>:exec("tag ".expand("<cword>"))<CR>
map <A-]> :vsp <CR>:exec("tag ".expand("<cword>"))<CR>
Run Code Online (Sandbox Code Playgroud)
当我尝试打开 C 或 C++ 文件时,我收到以下警告消息: …
我在我的vimrc中有以下映射:
nmap <Leader>h1 yyp<c-v>$r=
nmap <Leader>h2 yyp<c-v>$r-
Run Code Online (Sandbox Code Playgroud)
我想重复<Leader>h1/2 使用.
Tim Pope 存在repeat.vim插件,具有以下用法
silent! call repeat#set("\<Plug>MyWonderFulMap", v:count)
Run Code Online (Sandbox Code Playgroud)
我尝试以下列方式使用它:
nnoremap <silent> <Plug>MyWonderfulMap :normal yyp<c-v>$r=
silent! call repeat#set("\<Plug>MyWonderfulMap", v:count)
nmap <Leader>h1 <Plug>MyWonderfulMap
Run Code Online (Sandbox Code Playgroud)
这是行不通的.
我知道这不是一个严重的并发症,但是,我有兴趣使用repeat.vim进行自己的映射.
我的命令模式完成设置是:
set wildmenu
set wildmode=longest,list,full
Run Code Online (Sandbox Code Playgroud)
目前我打字的时候
:set fdm=
Run Code Online (Sandbox Code Playgroud)
在命令模式下,然后按Tab键,手动追加,如果我再次按Tab键,字符^我追加,我想要的是手动更改为另一种foldmethod选项,如语法,缩进等.
有谁知道这是可能的,或者如果有任何插件可以做到这一点?
谢谢 !
我怎么能(自动地,基本上除了初始配置之外我不应该做任何事情)将vim cwd设置到项目根目录(如果有的话)或当前缓冲目录(以某种autochdir方式)?
以下是预期cwd的文件路径示例:~/foo/bar/SOME_FILE- > ~/foo如果有~/foo/.git/dir或~/foo/.hg/dir ,则为其他方式~/foo/bar/
我知道airblade/vim-rooter但它不能正常工作(例如它依赖于特定的文件扩展名,我不希望这种行为).
我正在一个实际上由几个子项目组成的项目,在一个通用的git仓库下:
Project
- Sub Project A
- Sub Project B
- ...
Run Code Online (Sandbox Code Playgroud)
我从不在主文件夹上工作,并且总是从子项目之一开始,问题出在我尝试使用CtrlP时,总是从存储库所在的主文件夹开始进行搜索。
我已经从项目存储库中尝试了一些设置,但是无论如何,例如波纹管,但仍然无法使其发挥任何作用。
let g:ctrlp_working_path_mode = 'ca'
有什么建议吗?
我曾经在这里和这里看到过类似的问题,但是它们已经有4年历史了,没有给出符合我要求的答案。
例如,如果我在Python中输入Python代码:
os.path.join('my', 'path')
resp = requests.get('http://example.com')
HttpResponse('success')
Run Code Online (Sandbox Code Playgroud)
假设我在site-packages文件夹中有第三方模块'requests'和'django',那么有没有Vim插件-不使用Rope库-可以自动将相关的import语句添加到Python中文件(无论对于内置和第三方模块,即使用import或from根据需要),如下所示:
import os
import requests
from django.http import HttpResponse
Run Code Online (Sandbox Code Playgroud)
传统上我会使用古老的Rope软件包,但我一直在用现代替代方法替换Rope函数,以避免.ropeproject文件夹的开销。但是,我还没有找到自动导入的Vim替代品。
我使用以下行安装了Conque与vundle:
Bundle 'Conque-Shell'
Run Code Online (Sandbox Code Playgroud)
但是,当我运行时,:ConqueTerm bash我得到以下错误:
Error detected while processing function conque_term#open..conque_term#dependency_check..conque_term#load_python:
line 2:
Traceback (most recent call last):
File "<string>", line 1, in <module>
IOError: [Errno 2] No such file or directory: '/Users/snowch/.vim/bundle/Conque-Shell/autoload/conque_term/conque_globals.py'
line 3:
Traceback (most recent call last):
File "<string>", line 1, in <module>
IOError: [Errno 2] No such file or directory: '/Users/snowch/.vim/bundle/Conque-Shell/autoload/conque_term/conque.py'
line 10:
Traceback (most recent call last):
File "<string>", line 1, in <module>
IOError: [Errno 2] No such file or directory: '/Users/snowch/.vim/bundle/Conque-Shell/autoload/conque_term/conque_screen.py'
line …Run Code Online (Sandbox Code Playgroud) 我正在使用具有出色的vscodevim扩展名的VS Code。当我导航到具有快速操作可用的代码时,我可以+ 激活下拉上下文菜单。ctrl.
有没有一种方法可以选择使用键盘(除了箭头键之外)在可用项目列表中进行切换。作为信息,在Visual Studio中可以使用tab,这在VS Code中不起作用。
为什么?因为我爱我的MS ARC键盘,但我讨厌翘板箭头键。
我使用的一个Vim插件有一个错误,导致它设置了:syntax spell notoplevel。如果我:syntax spell toplevel在打开文件后运行命令,则可以轻松缓解该错误。但是,我很懒,我想将修复程序放入init.vim / .vimrc文件中,以便它可以自动运行。
我如何确保在有故障的插件代码后执行我的修复,以使我的设置不会被插件覆盖?