vim自定义快捷键
[root@localhost dphp]# cat ~/.vimrc
noremap <F5> :Tlist<cr> //定义F5为":Tlist"命令。<cr>的意思是不需要再敲回车确认
map <F10> :NERDTreeToggle<CR> //windows下定义的快捷键
map <F9> :Tlist<CR //windows下定义的快捷键
自定义状态栏
set laststatus=2
set statusline=%F%m%r%h%w\ [FORMAT=%{&ff}]\ [TYPE=%Y]\ [ASCII=\%03.3b]\ [HEX=\%02.2B]\ [POS=%04l,%04v][%p%%]\ [LEN=%L]
本节所用命令的帮助入口:
:help compatible
:help mapleader
:help map
:help autocmd
为什么我的vim这么难用?不能语法高亮,没有折行,不能打开多个窗口多个buffer,不能……
为什么别人用几个键就可以完成一个很复杂的功能,而我不能?
为什么别人的vim看起来和我的很不一样?
……
当你开始问这些问题的时候,是时候去检查一下你的vimrc了。
当vim在启动时,如果没有找到vimrc或gvimrc,它缺省工作VI兼容的模式。这意味着,你只能使用VI所具备的功能,而vim中的大量扩展功能将无法使用。也许这就是你的vim如此难用的原因。
vim中自带了一个vimrc例子,让我们从这个例子开始吧。
下面我以Linux下的vim为例,windows版本的vim,会在后面提到。
示例的vimrc(名为vimrc_example.vim)通常位于/usr/share/vim/vimXXX/目录下,其中vimXXX与你所使用的vim版本有关。
首先把这个示例的vimrc拷贝到相应的目录,在Linux下,应该把它拷贝到你的home目录下,名字为”.vimrc”,下面是shell命令:
cp /usr/share/vim/vim70/vimrc_example.vim ~/.vimrc
或者你在vim中执行下面的命令,和上面的shell命令完成相同的功能:
:!cp $vimRUNTIME/vimrc_example.vim ~/.vimrc
现在,你退出vim后再进入,你的vim和刚才已经不一样了。
你可以先读一下你的vimrc,看看它都设定了什么:
:e ~/.vimrc
这是一个注释良好的文件,不需要多解释。
对windows版本的vim,它已经缺省的有了一个vimrc,你可以在vim在使用下面的命令来查看它:
:e $vim/_vimrc
在这个文件中,它包含了上面提到的vimrc_example.vim。同时,它会把vim设置的更符合windows的操作习惯。比如,支持CTRL-C拷贝,CTRL-V粘贴等等。Windows下的用户,可以使用$vim/_vimrc来做为你的第一个vimrc。
顺便提一句,在unix/linux中,文件名可以以”.”开头,表明此文件是隐藏的。而在windows中,不允许文件名以”.”开头,所以,windows版本的vim,将读取_vimrc来做为自己的配置文件。
在今后使用vim的日子里,你会频繁的更改你的vimrc。所以我们需要设置一些快捷方式,使我们能快速的访问vimrc。
把下面这段内容拷贝到你的vimrc中:
"Set mapleader
let mapleader = ","
"Fast reloading of the .vimrc
map <silent> <leader>ss :source ~/.vimrc<cr>
"Fast editing of .vimrc
map <silent> <leader>ee :e ~/.vimrc<cr>
"When .vimrc is edited, reload it
autocmd! bufwritepost .vimrc source ~/.vimrc
为了方便解释,我给每一行都加了一个行号。
在vimrc中,双引号开头的行,将被当作注释忽略。
第2行,用来设置mapleader变量,当mapleader为未设置或为空时,使用缺省的”\”来作为mapleader。
mapleader变量是作用是什么呢?看下面的介绍。
第5行定义了一个映射(map),这个映射把<leader>ss,映射为命令:source ~/.vimrc<cr>。当定义一个映射时,可以使用<leader>前缀。而在映射生效时,vim会把<leader>替换成mapleader变量的值。也就是说,我们这里定义的<leader>ss在使用时就变成了”,ss“,当输入这一快捷方式时,就会source一次~/.vimrc文件(也就是重新执行一遍.vimrc文件)。
第7行,定义了<leader>ee快捷键,当输入,ee时,会打开~/.vimrc进行编辑。
第9行,定义了一个自动命令,每次写入.vimrc后,都会执行这个自动命令,source一次~/.vimrc文件。
有了上面的快捷键,我们就能快速的打开vimrc文件编辑,快速重新source vimrc文件,方便多了。
无论在windows还是在linux中,我都使用vim作为我的缺省编辑器。并且,我想使用同一个vimrc文件。因此,我定义了一个MySys()函数,用来区分不同的平台,以进行不同的配置。
另外,在编辑vimrc文件时,我更喜欢新开一个标签页来编辑,而不是在当前窗口中。因此,我定义了SwitchToBuf()函数,它在所有标签页的窗口中查找指定的文件名,如果找到这样一个窗口,就跳到此窗口中;否则,它新建一个标签页来打开vimrc文件。(注:标签页(tab)功能只有在vim 7.0版本以上才支持。)
下面是我的vimrc中使用的设定,希望能够抛砖引玉:
" Platform
function! MySys()
if has("win32")
return "windows"
else
return "linux"
endif
endfunction
function! SwitchToBuf(filename)
"let fullfn = substitute(a:filename, "^\\~/", $HOME . "/", "")
" find in current tab
let bufwinnr = bufwinnr(a:filename)
if bufwinnr != -1
exec bufwinnr . "wincmd w"
return
else
" find in each tab
tabfirst
let tab = 1
while tab <= tabpagenr("$")
let bufwinnr = bufwinnr(a:filename)
if bufwinnr != -1
exec "normal " . tab . "gt"
exec bufwinnr . "wincmd w"
return
endif
tabnext
let tab = tab + 1
endwhile
" not exist, new tab
exec "tabnew " . a:filename
endif
endfunction
"Fast edit vimrc
if MySys() == 'linux'
"Fast reloading of the .vimrc
map <silent> <leader>ss :source ~/.vimrc<cr>
"Fast editing of .vimrc
map <silent> <leader>ee :call SwitchToBuf("~/.vimrc")<cr>
"When .vimrc is edited, reload it
autocmd! bufwritepost .vimrc source ~/.vimrc
elseif MySys() == 'windows'
" Set helplang
set helplang=cn
"Fast reloading of the _vimrc
map <silent> <leader>ss :source ~/_vimrc<cr>
"Fast editing of _vimrc
map <silent> <leader>ee :call SwitchToBuf("~/_vimrc")<cr>
"When _vimrc is edited, reload it
autocmd! bufwritepost _vimrc source ~/_vimrc
endif
" For windows version
if MySys() == 'windows'
source $VIMRUNTIME/mswin.vim
behave mswin
endif
注意:我在windows中也定义一个”HOME”环境变量,然后把_vimrc放在”HOME”环境变量所指向的目录中。如果你打算在windows中使用上面的设定,也需要这样做!
好了,现在我们知道如何永久更改‘sessionoptions’选项和‘viminfo’选项了,把对它们的配置放入你的vimrc即可。
vim自带的示例vimrc中,只定义最基本的配置。
在http://www.amix.dk/vim/vimrc.html有一个非常强大的vimrc,有人戏称为”史上最强的vimrc”,或许有些言过其实。不过,如果你通读了这个vimrc,相信能从中学到很多……
这里有一个redguardtoo修改过的版本,可以对照参考一下。
我的vimrc也是基于Amix的模板,然后自已做了很多修改。
建议:不要照拷这个vimrc!可能这个文件的设定并不符合你的习惯。另外,这个文件的设定,可能也不能在你的工作环境中运行。
分享到:
相关推荐
- 可以添加自定义的快捷键设置,以满足个人需求。 - 保存文件并重启Vim。 #### 总结 通过上述方法,我们可以有效解决Windows版本的Vim与系统快捷键之间的冲突问题。这不仅提高了工作效率,也让用户能够在不同...
以上仅是Vim众多快捷键的一部分,熟练掌握这些常用快捷键能极大地提高你在Vim中的工作效率。Vim还有更多高级特性等待你去探索,如宏的使用、插件管理等。不断学习和实践,你将会发现Vim的魅力所在。
- 在`keybindings.json`中自定义快捷键,例如将`Ctrl+Shift+L`设置为“选择所有实例”。 4. **工作区设置**: - 针对不同项目创建特定的`.vscode/settings.json`文件,定义项目特有的配置。 5. **集成终端**: ...
此外,VIM支持自定义配置,用户可以通过`.vimrc`文件设置个人喜好,包括快捷键绑定、颜色方案、自动补全等。例如,你可以将`nnoremap <leader>w :w<CR>`添加到`.vimrc`中,使`<Leader>w`成为保存文件的快捷键。 ...
本篇文章将深入探讨如何在IntelliJ IDEA中进行Vim自定义配置,以提升开发效率。 首先,我们需要了解IntelliJ IDEA中的Vim Emulator插件。该插件使得IDEA拥有类似于Vim的键绑定和编辑模式,让习惯于Vim操作的开发者...
5. **自定义快捷键**: - 在`.vimrc`中,你可以定义自己的快捷键,例如: ``` map <F2> :!python %<CR> " 快捷运行Python文件 ``` 通过以上配置,你可以在Vim中更高效地进行文本编辑,逐渐适应并享受这种无鼠标...
**vim自定义主题详解** Vim,全称Vi Improved,是一款功能强大的文本编辑器,深受程序员们的喜爱。它以其高效的操作方式和高度可定制性著称。本篇将重点介绍如何自定义Vim的主题,以适应C++开发的需求,使编程环境...
以上仅为Vim众多快捷键中的一部分,Vim的强大之处在于其高度的自定义能力和丰富的插件生态系统。熟练掌握这些快捷键,并根据个人需求进一步探索和配置,将极大地提升代码编写和文本处理的效率。
为了更贴近Vim的使用习惯,你可以在`Keymap`设置中自定义这些快捷键。例如,如果你觉得某个操作在默认配置中不方便,可以通过右键点击该操作,选择`Add Keyboard Shortcut`来添加新的快捷键组合。 配置完成后,我们...
以上仅为 Vim Vax 快捷键大全的一部分,实际上还有更多高级操作和自定义配置,熟练掌握这些快捷键能够极大地提升程序员的工作效率,使Vim成为一个强大的文本编辑工具。通过不断实践和定制,每个Vim用户都能找到最...
通过熟练掌握VIM的快捷键,可以极大地提升编程效率。以下是一些关键的VIM快捷键和功能的详细说明: 1. **光标定位快捷键**: - `H`:将光标移动到屏幕顶部。 - `M`:将光标移动到屏幕中间。 - `L`:将光标移动到...
- **快捷键映射**:使用`nnoremap`、`inoremap`、`vnoremap`等命令创建自定义快捷键,提高编辑效率。 - **自动缩进**:设置`autocmd`和`indentexpr`来实现不同语言的自动缩进规则。 - **语法高亮**:启用`syntax on`...
首先,我们可以自定义Vim的行为,通过运行`vim ~/.vimrc`进入配置文件。在这个文件中,可以设置各种选项,例如: - `set nu`启用行号显示。 - `set tabstop=4`设置一个制表符等于4个空格。 - `set ai`开启自动缩进。...
**Python-Vimiv:一个基于Vim快捷键的高效图片浏览器** Vimiv是一个轻量级、高效的图片浏览器,它的设计灵感来源于著名的文本编辑器Vim。作为一个Vim用户,你将发现Vimiv提供了类似Vim的键绑定,使得在浏览图片时也...
- `.vimrc`:个人VIM配置文件,可以自定义快捷键、颜色方案等 通过熟练掌握这些快捷键和技巧,用户可以极大地提高在VIM编辑器中的工作效率,无论是编写代码还是日常文本编辑,都将变得更加得心应手。记得多多练习...
快捷键的绑定是VIM自定义配置的另一大亮点,它能大大提高工作效率。例如,你可以将常用的命令绑定到特定的键上,比如: ```vim nnoremap <Leader>s :w<CR> " 保存当前文件 nnoremap <Leader>e :e<CR> " 重新载入...
### VI/VIM 快捷键及配置详解 #### 一、VI/VIM 概述 VI/VIM(Vi IMproved)是一种广泛使用的文本编辑器,最初由 Bill Joy 开发,随后由 Bram Moolenaar 扩展为 VIM。VI 是 UNIX 系统的标准编辑器之一,而 VIM 则在...
6. **自定义配置**:Swatch允许用户根据个人喜好和需求自定义配置,比如预览大小、位置、透明度等,以适应不同的工作环境。 在实际使用中,Swatch可以通过以下步骤安装: 1. **获取源码**:从压缩包`swatch.vim-...
Vim允许我们自定义快捷键,例如,将`gf`映射为打开当前光标下的文件名: ```vim map <silent> gf :execute "edit " . expand("<cword>") ``` 六、颜色方案与主题 Vim有许多美观的颜色方案,可以在.vimrc中设定,如:...