Tag: vim

你如何通过vim的命令历史search?

我想在Vim中进行以下search (reverse-i-search)`': input你以前的命令的一个字,你会得到完整的命令。 我知道Vim中的历史logging工具 q: 但是,这不是反向search的有用之处。 你怎么能在Vim中进行类似的反向search?

/在visearch和replace?

在vi中,search和replace,你怎么逃避一个'/'(正斜杠),以便它是正确的。 说一个道路。 如:/ Users / tom / documents / pdfs / :%s//Users/tom/documents/pdfs//<new text>/g –FAILS (obviously) :%s/\/Users/tom/documents/pdfs\//<new text>/g — FAILS with a trailing error :%s/'/Users/tom/documents/pdfs/'/<new text>/g — FAILS with a trailing error 我错过了什么?

在vim中打开文件后回到目录浏览

当我打开在vim中浏览的目录时,我可以通过将光标移动到文件名并按Enter键来打开文件。 现在有没有什么命令可以回到以前的目录浏览? 如果没有,有没有办法打开文件,而不closures目录浏览模式?

VIM:禁用光标/箭头键,但仅用于导航

inoremap <Up> <NOP> inoremap <Down> <NOP> inoremap <Left> <NOP> inoremap <Right> <NOP> noremap <Up> <NOP> noremap <Down> <NOP> noremap <Left> <NOP> noremap <Right> <NOP> 这是我用来禁用游标导航,帮我坚持hjkl 🙂 但它也禁用了命令栏上的光标…通常使用箭头键可以循环查看历史logging 是否可以禁用光标键仅用于导航,而不是历史?

在Vim中自动插入一个匹配的大括号

我花了太多时间摸索,因为Vim不像大多数IDE那样处理闭括号。 这是我想要发生的事情: input这个: if( whatever ) { <CR> 并得到这个: if( whatever ) { | } 其中<CR>表示按ENTER键和| 是光标的位置。 这是Eclipse所做的。 这是Visual Studio所做的。 而这正是我想要Vim做的。 我见过几个插件,尝试了几个,他们都没有给我这种行为。 当然,我不能成为第一个想要这个的程序员。

.gitignore文件添加到Git子模块中

我最近重新组织我的点文件在~/Dropbox/dotfiles的Git仓库中,我使用病原体将~/Dropbox/dotfiles/home/.vim/bundle所有Vim插件~/Dropbox/dotfiles/home/.vim/bundle 。 这些插件被添加为Git子模块。 现在问题是,当我运行Vim时,它会自动生成所有插件的文档,并将其放入每个子模块目录中。 这将未追踪的内容添加到子模块,我想避免。 ruby-1.8.7-p330@gs ~/Dropbox/dotfiles ‹master*› $ git st # On branch master # Changed but not updated: # (use "git add <file>…" to update what will be committed) # (use "git checkout — <file>…" to discard changes in working directory) # (commit or discard the untracked or modified content in submodules) # […]

在一行中多重search和replace

如果我做这样的事情: :%s / aaa / bbb / | %S /二百二十二分之一百十一/ 而第一次search和replace没有find任何匹配,第二次search和replace不会被执行。 即使命令“失败”,有没有办法告诉vim继续?

如何退出vim中的vimdiff模式,特别是逃犯?

我正在使用vim和逃犯扩展 。 它有一个:Gdiff命令,它将你带入vimdiff模式,但closures/退出vimdiff模式的方法是什么? 也就是说,我正在编辑Git存储库下的文件FooBar.txt。 我启动了:Gdiff,检查vimdiff中的更改,然后我想返回并继续编辑FooBar.txt或任何其他文件:) UPDATE1:我打算在下一个工作日试试这些快速连击:) "vimdiff current vs git head (fugitive extension) nnoremap <Leader>gd :Gdiff<cr> "switch back to current file and closes fugitive buffer nnoremap <Leader>gD :diffoff!<cr><cw>h:bd<cr> UPDATE2:我目前的映射(只closures差异窗口!) "vimdiff current vs git head (fugitive extension) nnoremap <Leader>gd :Gdiff<cr> "switch back to current file and closes fugitive buffer nnoremap <Leader>gD <cw>h<cw>c 另外,请帮助我决定是否应该是一个安装程序: https ://stackoverflow.com/a/15975201/275980

病原体不加载插件

病原体对我不起作用。 我正在关注亚当·洛威(Adam Lowe)在这里发布的暗示(以及更多),但没有取得任何成功。 我的vimrc: filetype off call pathogen#runtime_append_all_bundles() filetype plugin indent on set nocompatible syntax on set tabstop=2 set smarttab set shiftwidth=2 set autoindent set expandtab set number colorscheme darkblue .vim – ls .vim/* : .vim/autoload: pathogen.vim .vim/bundle: nerdcommenter/ vim-haml/ vim-surround/ vim-endwise/ vim-rails/ vim-vividchalk/ 捆绑包中的所有插件都是通过将它们从GitHub克隆到捆绑目录中来安装的。 我已经尝试过病原体1.1和1.2,甚至是最新的GitHub,没有任何结果。 Vividchalk,Vim-rails和nerdcommenter不工作。 我对其他插头的经验很less,所以我不确定他们,但我想他们也不行。 我使用的是ArchLinux,vim 7.2.385-1(不是最新的,因为最新的版本要求我安装ruby1.9,但仍然是7.2)。 它已通过pacman – ArchLinux软件包pipe理器安装。 没有安装vim插件,而不是使用病毒(我甚至用清理/usr/share/vim重新安装了vim包)。 我究竟做错了什么? […]

更改Vim交换/备份/撤消文件的名称

是否有可能改变Vim命名交换/备份/撤消文件的方式? 为了避免混乱,我在~/.vimrc设置了一些选项来将这些文件转储到~/.vim/tmp/{swap,backup,undo} ; 然而,由于我经常用不同的目录编辑同名的文件,所以我经常会遇到很多其他难以区分的文件,Vim有时会遇到恢复问题。 理想情况下,我想要使用持久性撤消对所有这些辅助文件( %path%to%file.undo )的命名scheme; 有没有明显的方式来设置它,但可以用Buf{Read,Write}macros来完成吗?