计算机教程

Mac开发利器之程序员编辑器MacVim学习总结【必赢娱乐棋牌】

15 2月 , 2019  

插件说明

这里面所有的插件,并不是都放到了我的 .vimrc 文件中 .vimrc
配置文件中,是我个人喜欢并且习惯的配置。

 

参考资料

参考资料:

插件管理工具

       
 在终端上,界面非常之简洁,如果你需要更加复杂的界面以及使用Vim更多的特性,需要下载客户端安装。在Mac上目前存在两个版本的Vim客户端:
         1、MacVim。使用Cocoa
GUI,这是Mac上更新还很活跃的版本,也是Mac上最多人使用的版本。下载地址:http://code.google.com/p/macvim/
         2、使用Carbon
GUI的版本,但是这个版本目前基本上不再更新。下载地址:http://sourceforge.net/projects/macosxvim/files/

保存退出

Vim

:w new_filename # → 保存为指定文件 :w # → 保存修改 :wq # →
保存修改并推出 ZZ # → 快捷键,保存修改并推出 :q! # → 不保存修改推出
:wq! # → 保存修改并推出(文件所有者,root权限的用户)

1
2
3
4
5
6
:w new_filename     # → 保存为指定文件  
:w   # → 保存修改  
:wq  # → 保存修改并推出  
ZZ   # → 快捷键,保存修改并推出  
:q!  # → 不保存修改推出  
:wq! # → 保存修改并推出(文件所有者,root权限的用户)

         移动都某部分,比如到文件大约10%的行位置,输入”10%“。

快速移动

Lokaltog/vim-easymotion
把满足条件的位置用 [;A~Za~z]
间的标签字符标出来,找到你想去的位置再键入对应标签字符即可快速到达。

Shell

;;b # 光标前代码定位 ;;e # 光标后代码定位 ;;f # 光标后代码定位
<搜索自负> 出现定位信息 ;;F # 光标前代码定位 <搜索自负>
出现定位信息

1
2
3
4
;;b # 光标前代码定位
;;e # 光标后代码定位
;;f # 光标后代码定位 <搜索自负> 出现定位信息
;;F # 光标前代码定位 <搜索自负> 出现定位信息
  1.   

工程文件菜单

自定义快捷键

Vim

;fl # 显示文件菜单 file list

1
;fl # 显示文件菜单 file list

自带快捷键

Vim

shift+i # 显示/隐藏隐藏文件 t # 在新 Tab 中打开选中文件/书签,并跳到新
Tab T # 在新 Tab 中打开选中文件/书签,但不跳到新 Tab i # split
一个新窗口打开选中文件,并跳到该窗口 gi # split
一个新窗口打开选中文件,但不跳到该窗口 s # vsplit
一个新窗口打开选中文件,并跳到该窗口 gs # vsplit 一个新
窗口打开选中文件,但不跳到该窗口 ctrl + w + h # 光标 focus 左侧树形目录
ctrl + w + l # 光标 focus 右侧文件显示窗口 ctrl + w + w #
光标自动在左右侧窗口切换 ctrl + w + r # 移动当前窗口的布局位置 o #
在已有窗口中打开文件、目录或书签,并跳到该窗口 go # 在已有窗口
中打开文件、目录或书签,但不跳到该窗口 ! # 执行当前文件 O #
递归打开选中 结点下的所有目录 x # 合拢选中结点的父目录 X # 递归
合拢选中结点下的所有目录 e # Edit the current dif 双击 相当于
NERDTree-o 中键 对文件相当于 NERDTree-i,对目录相当于 NERDTree-e D #
删除当前书签 # P # 跳到根结点 p # 跳到父结点 K #
跳到当前目录下同级的第一个结点 J # 跳到当前目录下同级的最后一个结点 k
# 跳到当前目录下同级的前一个结点 j # 跳到当前目录下同级的后一个结点 C
# 将选中目录或选中文件的父目录设为根结点 u #
将当前根结点的父目录设为根目录,并变成合拢原根结点 U #
将当前根结点的父目录设为根目录,但保持展开原根结点 r # 递归刷新选中目录
R # 递归刷新根结点 m # 显示文件系统菜单 cd # 将 CWD 设为选中目录 I #
切换是否显示隐藏文件 f # 切换是否使用文件过滤器 F # 切换是否显示文件 B
# 切换是否显示书签 # q # 关闭 NerdTree 窗口 ? # 切换是否显示 Quick
Help

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
shift+i      # 显示/隐藏隐藏文件
t       # 在新 Tab 中打开选中文件/书签,并跳到新 Tab
T       # 在新 Tab 中打开选中文件/书签,但不跳到新 Tab
i       # split 一个新窗口打开选中文件,并跳到该窗口
gi      # split 一个新窗口打开选中文件,但不跳到该窗口
s       # vsplit 一个新窗口打开选中文件,并跳到该窗口
gs      # vsplit 一个新 窗口打开选中文件,但不跳到该窗口
 
ctrl + w + h    # 光标 focus 左侧树形目录
ctrl + w + l    # 光标 focus 右侧文件显示窗口
ctrl + w + w    # 光标自动在左右侧窗口切换
ctrl + w + r    # 移动当前窗口的布局位置
o       # 在已有窗口中打开文件、目录或书签,并跳到该窗口
go      # 在已有窗口 中打开文件、目录或书签,但不跳到该窗口
 
!       # 执行当前文件
O       # 递归打开选中 结点下的所有目录
x       # 合拢选中结点的父目录
X       # 递归 合拢选中结点下的所有目录
e       # Edit the current dif
 
双击    相当于 NERDTree-o
中键    对文件相当于 NERDTree-i,对目录相当于 NERDTree-e
 
D       # 删除当前书签
#
P       # 跳到根结点
p       # 跳到父结点
K       # 跳到当前目录下同级的第一个结点
J       # 跳到当前目录下同级的最后一个结点
k       # 跳到当前目录下同级的前一个结点
j       # 跳到当前目录下同级的后一个结点
 
C       # 将选中目录或选中文件的父目录设为根结点
u       # 将当前根结点的父目录设为根目录,并变成合拢原根结点
U       # 将当前根结点的父目录设为根目录,但保持展开原根结点
r       # 递归刷新选中目录
R       # 递归刷新根结点
m       # 显示文件系统菜单
cd      # 将 CWD 设为选中目录
 
I       # 切换是否显示隐藏文件
f       # 切换是否使用文件过滤器
F       # 切换是否显示文件
B       # 切换是否显示书签
#
q       # 关闭 NerdTree 窗口
?       # 切换是否显示 Quick Help

        c           修改操作命令

删除命令

Vim

x # → 删除关闭所在处字符 nx # → 删除关闭所在处n个字符 dd # →
删除光标所在行, ndd # → 删除n行 dG # → 删除光标所在行到文件末尾内容 D
# → 删除光标所在处到行尾内容 :n1,n2d # → 删除指定范围的行 如:1,2d

1
2
3
4
5
6
7
x   # → 删除关闭所在处字符  
nx  # → 删除关闭所在处n个字符  
dd  # → 删除光标所在行,
ndd # → 删除n行  
dG  # → 删除光标所在行到文件末尾内容  
D   # → 删除光标所在处到行尾内容  
:n1,n2d # → 删除指定范围的行 如:1,2d

 

替换取消

Vim

r # → 取代关闭所在处字符 R # → 从光标所在处开始替换字符,摁ESC结束 u
# → 取消上一步操作 ctrl + r # → 返回上一步

1
2
3
4
r # → 取代关闭所在处字符  
R # → 从光标所在处开始替换字符,摁ESC结束  
u # → 取消上一步操作  
ctrl + r # → 返回上一步

        <      
  选中文本向左Tab缩进。在Normal模式和Visual模式下都能生效。

HTML操作

便捷操作得益于插件Emmet.vim。键入
div>p#foo$*3>a 然后按快捷键 <c-y>, – 表示 <Ctrl-y>
后再按逗号【Ctrly,】。

按大写的 V 进入 Vim 可视模式,行选取上面三行内容,然后按键
<c-y>,,这时 Vim 的命令行会提示 Tags:,键入ul>li*,然后按
Enter。

<ctrl+y>d 根据光标位置选中整个标签
<ctrl+y>D 根据光标位置选中整个标签内容
<ctrl-y>n 跳转到下一个编辑点
<ctrl-y>N 跳转到上一个编辑点
<ctrl-y>i 更新图片大小
<ctrl-y>m 合并成一行
<ctrl-y>k 移除标签对
<ctrl-y>j 分割/合并标签
<ctrl-y>/ 切换注释
<ctrl-y>a 从 URL 地址生成锚
<ctrl-y>A 从 URL 地址生成引用文本

 

Tab操作

 必赢娱乐棋牌 1

插入命令

Vim

a # → 在光标所在字符后插入 A # → 在光标所在字符尾插入 i # →
在光标所在字符前插入 I # → 在光标所在行行首插入 o # → 在光标下插入新行
O # → 在光标上插入新行

1
2
3
4
5
6
a # → 在光标所在字符后插入  
A # → 在光标所在字符尾插入  
i # → 在光标所在字符前插入  
I # → 在光标所在行行首插入  
o # → 在光标下插入新行  
O # → 在光标上插入新行

     3、添加插件

插件管理

这里面刚开始使用的Vim插件管理工具VundleVim/Vundle.vim,后面为了大家安装方便,使用了
junegunn/vim-plug,这个插件管理工具,俺十分不喜欢,多了个
autoload
目录,安装过程也奇丑无比,安装快速,所以就使用它吧,下面命令更新安装的
plug.vim,默认已经有了不需要这一步。

Shell

curl -fLo ~/.vim/autoload/plug.vim –create-dirs \
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim

1
2
curl -fLo ~/.vim/autoload/plug.vim –create-dirs \
    https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim

          可以在很多命令之前加上数字,表示执行该命令的次数。

代码书写

 

安装

最新版本的Vim 7.4+ 使用(brew install macvim)安装,vim 版本更新
brew install macvim --override-system-vim

Shell

$ git clone https://github.com/jaywcjlove/vim-web.git ~/.vim $ ln -s
~/.vim/.vimrc ~/.vimrc # 上面执行完成之后 # 开始下载安装插件 $ vim #
在vim中运行 “:PlugInstall” # 上面插件安装完成之后执行下面内容 #
command-t 文件搜索插件安装 $ cd ~/.vim/plugged/command-t $ rake make #
搜索文本内容工具 # 需要安装 CtrlSF的依赖ripgrep $ brew install ripgrep
# 代码提示插件也需要你运行安装哦,不然没有效果嘞 cd
~/.vim/plugged/YouCompleteMe ./install.sh # 需要安装ctags
不然配置没效果哦 # ctags for Mac $ brew install ctags # ctags for
Centos7 $ yum install ctags

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
$ git clone https://github.com/jaywcjlove/vim-web.git ~/.vim
$ ln -s ~/.vim/.vimrc ~/.vimrc
 
# 上面执行完成之后
# 开始下载安装插件
$ vim # 在vim中运行 ":PlugInstall"
 
# 上面插件安装完成之后执行下面内容
# command-t 文件搜索插件安装
$ cd ~/.vim/plugged/command-t
$ rake make
 
# 搜索文本内容工具
# 需要安装 CtrlSF的依赖ripgrep
$ brew install ripgrep
 
# 代码提示插件也需要你运行安装哦,不然没有效果嘞
cd ~/.vim/plugged/YouCompleteMe
./install.sh
 
# 需要安装ctags 不然配置没效果哦
# ctags for Mac
$ brew install ctags
# ctags for Centos7
$ yum install ctags

注: 默认已经安装了前端必备插件。.vimrc 是控制 vim
行为的配置文件,位于 ~/.vimrc,不论 vim
窗口外观、显示字体,还是操作方式、快捷键、插件属性均可通过编辑该配置文件将
vim 调教成最适合你的编辑器。

 

快捷键通配符

快捷键通配符 <leader>
相当于是一个通用的命令符,默认好像是\,你可以在.vimrc中将他改为任意一个按键,在我们这个配置我改为了冒号;

Vim

” 定义快捷键的前缀,即 <Leader> let mapleader=”;”

1
2
" 定义快捷键的前缀,即 <Leader>
let mapleader=";"

       (7)、文本对象

多tab窗口拆分

Vim

:tabnew [++opt选项] [+cmd] 文件 #建立对指定文件新的tab :tabc
#关闭当前的tab :tabo #关闭所有其他的tab :tabs #查看所有打开的tab
:tabp #前一个 :tabn #后一个

1
2
3
4
5
6
:tabnew [++opt选项] [+cmd] 文件            #建立对指定文件新的tab
:tabc      #关闭当前的tab
:tabo      #关闭所有其他的tab
:tabs      #查看所有打开的tab
:tabp      #前一个
:tabn      #后一个
  1. :saveas pathFile  

更新插件

插件更新频率较高,差不多每隔一个月你应该看看哪些插件有推出新版本,批量更新,只需在
vim 中执行下面命令即可。

Vim

:PlugUpdate

1
:PlugUpdate

 

查看配置位置

Shell

# 进入vim输入下面字符 :echo $MYVIMRC

1
2
# 进入vim输入下面字符
:echo $MYVIMRC

         光标向前跳多个词到达词首,比如5个词,输入5w;光标向后跳7个词到达词首,输入7b。跳到3个单词后的词末,输入3e;跳到3个单词前的词末,输入3ge。

安装插件

将配置信息其加入 ~/.vim/.vimrc 中的call plug#begin()
call plug#end() 之间,最后进入 vim 输入下面命令,摁 enter 进行安装。

Shell

:PlugInstall

1
:PlugInstall

          (11)、退出:

文件搜索

搜索有两个插件可以使用
wincent/command-t
junegunn/fzffzf没有下载下来,这里在使用
command-t ,使用的时候记得,进入目录 cd ~/.vim/plugged/command-t
运行 rake make

Vim

;t # 启动搜索文件

1
;t # 启动搜索文件

        (5)、查询字符:

定位命令

Vim

:set number #→ 设置行号 简写set nu :set nonu #→ 取消行号 gg #→
到第一行 G #→ 到最后一行 nG #→ 到第n行 :n #→ 到第n行 S #→ 移至行尾 0
#→ 移至行尾 hjkl #→ 前下上后 w #→ 到下一个单词的开头 b #→ 与w相反 e
#→ 到下一个单词的结尾。 ge #→ 与e相反 0 #→ 到行头 ^ #→
到本行的第一个非blank字符 $ #→ 到行尾 g_ #→
到本行最后一个不是blank字符的位置。 fa #→
到下一个为a的字符处,你也可以fs到下一个为s的字符。 t, #→
到逗号前的第一个字符。逗号可以变成其它字符。 3fa #→
在当前行查找第三个出现的a。 F 和 T → 和 f 和 t 一样,只不过是相反方向。
zz # 将当前行置于屏幕中间(不是转载…) zt #
将当前行置于屏幕顶端(不是猪头~) zb # 底端啦~

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
:set number   #→ 设置行号 简写set nu  
:set nonu   #→ 取消行号  
gg  #→ 到第一行  
G   #→ 到最后一行  
nG  #→ 到第n行  
:n  #→ 到第n行  
S   #→ 移至行尾  
0   #→ 移至行尾  
hjkl #→ 前下上后  
 
w   #→ 到下一个单词的开头  
b   #→ 与w相反  
e   #→ 到下一个单词的结尾。  
ge  #→ 与e相反  
 
0   #→ 到行头  
^   #→ 到本行的第一个非blank字符  
$   #→ 到行尾  
g_  #→ 到本行最后一个不是blank字符的位置。  
fa  #→ 到下一个为a的字符处,你也可以fs到下一个为s的字符。  
t,  #→ 到逗号前的第一个字符。逗号可以变成其它字符。  
3fa #→ 在当前行查找第三个出现的a。  
F 和 T → 和 f 和 t 一样,只不过是相反方向。  
 
zz # 将当前行置于屏幕中间(不是转载…)  
zt # 将当前行置于屏幕顶端(不是猪头~)  
zb # 底端啦~

         Ctrl-u命令光标向上移动半屏,Ctrl-d光标向下移动半屏。

一个前端开发工程师的Vim跟IDE一样

2017/01/18 · 基础技术 ·
vim

原文出处: 小弟调调   

这里是我新配置出来的
jaywcjlove/vim-web
一直在打磨中,基本上可以用了。拿出来骗 star 先上图

必赢娱乐棋牌 2

       
以上安装插件的方法都比较麻烦,并且每个插件的文件分散到几个文件夹去,不方便管理。在这里给各位推荐一个很方便管理插件的Vim插件vundle:https://github.com/gmarik/vundle。vundle可以使得安装的插件的文件都放到同一个目录下,并且简单设置就可使用。安装方法如下:

切割窗口

Vim

:new # 水平切割窗口 :split # 水平切割窗口(或者直接输入 :sp 也可以)
:vsplit # 垂直切割( 也可以 :vs )

1
2
3
:new      # 水平切割窗口
:split    # 水平切割窗口(或者直接输入   :sp  也可以)
:vsplit   # 垂直切割( 也可以  :vs  )

vim基本命令

替换

        首先,在终端输入如下命令:

复制剪切

yy 和 p 的组合键,或者 dd 和 p 的组合键

Vim

yy # → 复制当前行 nyy # → 复制当前行以下n行 dd # → 剪切当前行 ndd #
→ 剪切当前行以下n 行 p、P # → 粘贴在当前光标所在行或行上 2dd # →
删除2行 3p # → 粘贴文本3次

1
2
3
4
5
6
7
yy    # → 复制当前行  
nyy   # → 复制当前行以下n行  
dd    # → 剪切当前行  
ndd   # → 剪切当前行以下n 行  
p、P  # → 粘贴在当前光标所在行或行上  
2dd   # → 删除2行  
3p    # → 粘贴文本3次

       
 本文主要介绍MacVim,MacVim支持多窗口标签编辑以及全屏等新特性。下载了相应MacVim压缩包,解压以后将MacVim.app拖入/Applications目录下。启动MacVim,输入”:h
mvim”,
按照提示,需要将mvim脚本文件拷贝到”/usr/local/bin”目录下。打开终端,输入命令
“cd /usr/local”以及”sudo mkdir bin”,最后输入”sudo cp -f
/Users/ericli/SoftWare/MacVim-snapshot-66/mvim
 /usr/local/bin/”,这样就可以在终端输入命令”mvim”来快速启动MacVim
。如果你不想将MacVim.app放到/Applications目录下,只需要在终端设置VIM_APP_DIR变量为你想放置MacVim.app的目录并导入到$HOME/.bash_profile中即可,比如:export
VIM_APP_DIR=$HOME/SoftWare/MacVim-snapshot-66/。在MacVim输入”:h
macvim”,可以查看MacVim的使用帮助介绍文档。

其它人的vimrc配置

必赢娱乐棋牌 3

           (12)、放弃执行命令:

使用界面

     MacVim的菜单文件的路径:”$VIMRUNTIME/menu.vim”

管理项目

           

tab切换

Vim

# 下面为自定义快捷键 tnew #新建tab tn #后一个 tab tp #前一个 tab #
窗口切换 nw # 标准模式下: gt , gT #可以直接在tab之间切换。 #
还有很多他命令, 看官大人自己, :help table 吧。 Ctrl+ww #
移动到下一个窗口 # 或者 先按组合键ctrl+w
,然后都松开,然后通过j/k/h/l(等于vim移动的方向键)
来移动大哦哦左/上/下/右的窗口 Ctrl+wj #移动到下方的窗口 Ctrl+wk
#移动到上方的窗口

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 下面为自定义快捷键
tnew #新建tab
tn #后一个 tab
tp #前一个 tab
 
# 窗口切换
nw
 
# 标准模式下:
gt , gT #可以直接在tab之间切换。
 
# 还有很多他命令, 看官大人自己, :help table 吧。
Ctrl+ww # 移动到下一个窗口
# 或者 先按组合键ctrl+w ,然后都松开,然后通过j/k/h/l(等于vim移动的方向键) 来移动大哦哦左/上/下/右的窗口
Ctrl+wj #移动到下方的窗口
Ctrl+wk #移动到上方的窗口

     用户配置文件gvimrc的路径:”$HOME/.gvimrc”

卸载插件

先在 .vimrc 中注释或者删除对应插件配置信息,然后在 vim
中执行下面命令,即可删除对应插件。

Vim

:PlugClean

1
:PlugClean

         Redo  快捷键 shift+command+z

基础使用

  • inoremap (Insert Mode)就只在插入(insert)模式下生效
  • vnoremap (Visual Mode)只在visual模式下生效
  • nnoremap (Normal Mode)就在normal模式下(狂按esc后的模式)生效
  • 快捷键<c-y>, 标示(Ctrly,)

       

搜索查找

 Ctrl-w-w、Ctrl-w-方向键(包括hjkl和箭头方向键),可以在多个窗口中切换。Ctrl-t(top-left窗口)、Ctrl-b(bottom-right窗口)、Ctrl-p(上一个窗口)也是常用的切换窗口命令。

开关注释

  • ;cc,注释当前选中文本,如果选中的是整行则在每行首添加
    //,如果选中一行的部分内容则在选中部分前后添加分别/**/
  • ;cu,取消选中文本块的注释。

          使用:help operator
可以在帮助里查看更多的操作符命令内容。

常用快捷键

这里的快捷键是我配置好的可用的。

Vim

;fl # 换出菜单列表 nw # 窗口切换 ;lw # 跳转至右方的窗口 ;hw #
跳转至左方的窗口 ;kw # 跳转至上方的子窗口 ;jw # 跳转至下方的子窗口 #
可以直接在Tab之间切换。 gt # 后一个Tab标签 gT # 前一个Tab标签 ;q #
关闭一个标签 ctrl-f # 下一页 f 就是`forword` ctrl-b # 上一页 b
就是`backward` ;t # 通过搜索文件打开文件 # 快速文本内定位 ;;b #
光标前代码定位 ;;e # 光标后代码定位 ;;f # 光标后代码定位
<搜索自负> 出现定位信息 ;;F # 光标前代码定位 <搜索自负>
出现定位信息 ;ilt #
设置显示/隐藏标签列表子窗口(函数列表)的快捷键。速记:identifier list by
tag 0 # 行首 $ # 行尾 :r ~/git/R.js # 将文件内容导入到该文件中
:!which ls # 找命令不推出vim运行命令 :!date # 查看编辑时间 :r !date #
将当前编辑时间导入当前文本光标所在行 U # 选中 – 变大写 u # 选中 –
变小写 ~ # 选中 – 变大写变小写,小写变大写 ;cc # 代码注释”//” ;cm #
代码段落注释”/**/” ;ci # 注释相反,注释的取消注释,没注释的注释 ;cs
# 段落注释,注释每行前面加”*” ;c$ # 光标开始到行结束的位置注释 ;cA #
在行尾部添加注释符”//” ;cu # 取消代码注释 za # 单个代码折叠 zM #
折叠左右代码 zR # 所有代码折叠取消 ;i # 开/关缩进可视化 > #
代码锁进 – 选中摁尖括号 < # 代码锁进 – 选中摁尖括号
:1,24s/header/www/g # 第1到24行将header替换成www <c-z> # 退出Vim

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
;fl # 换出菜单列表
nw  # 窗口切换
;lw # 跳转至右方的窗口
;hw # 跳转至左方的窗口
;kw # 跳转至上方的子窗口
;jw # 跳转至下方的子窗口
 
 
# 可以直接在Tab之间切换。
gt # 后一个Tab标签
gT # 前一个Tab标签
;q # 关闭一个标签
 
ctrl-f # 下一页 f 就是`forword`
ctrl-b # 上一页 b 就是`backward`  
 
;t # 通过搜索文件打开文件
 
# 快速文本内定位
;;b # 光标前代码定位
;;e # 光标后代码定位
;;f # 光标后代码定位 <搜索自负> 出现定位信息
;;F # 光标前代码定位 <搜索自负> 出现定位信息
 
;ilt # 设置显示/隐藏标签列表子窗口(函数列表)的快捷键。速记:identifier list by tag
 
0   # 行首
$   # 行尾
 
:r ~/git/R.js # 将文件内容导入到该文件中
:!which ls  # 找命令不推出vim运行命令
:!date      # 查看编辑时间
:r !date    # 将当前编辑时间导入当前文本光标所在行
 
U # 选中 – 变大写
u # 选中 – 变小写
~ # 选中 – 变大写变小写,小写变大写
 
;cc # 代码注释"//"
;cm # 代码段落注释"/**/"
;ci # 注释相反,注释的取消注释,没注释的注释
;cs # 段落注释,注释每行前面加"*"
;c$ # 光标开始到行结束的位置注释
;cA # 在行尾部添加注释符"//"
;cu # 取消代码注释
 
za # 单个代码折叠
zM # 折叠左右代码
zR # 所有代码折叠取消
 
;i  # 开/关缩进可视化
>   # 代码锁进 – 选中摁尖括号
<   # 代码锁进 – 选中摁尖括号
 
:1,24s/header/www/g  # 第1到24行将header替换成www
 
<c-z>  # 退出Vim

手把手教你把Vim改装成一个IDE编程环境(图文)

搜索文本内容

dyng/ctrlsf.vim,在插件完成安装之后,需要安装另外的工具,才能运行

Shell

brew install ripgrep # 上面安装好了之后,在.vimrc中配置下面内容 #
快捷键速记法:search in project let g:ctrlsf_ackprg = ‘rg’ #
设置快捷键 nnoremap <Leader>sp :CtrlSF<CR> # 选中搜索 –
文本中选中关键字 vmap <Leader>sp <Plug>CtrlSFVwordPath #
选中搜索 – 结果列表 vmap <Leader>sl
<Plug>CtrlSFQuickfixVwordPath

1
2
3
4
5
6
7
8
9
10
11
brew install ripgrep
 
# 上面安装好了之后,在.vimrc中配置下面内容
# 快捷键速记法:search in project
let g:ctrlsf_ackprg = ‘rg’
# 设置快捷键
nnoremap <Leader>sp :CtrlSF<CR>
# 选中搜索 – 文本中选中关键字
vmap     <Leader>sp <Plug>CtrlSFVwordPath
# 选中搜索 – 结果列表
vmap     <Leader>sl <Plug>CtrlSFQuickfixVwordPath

基本使用方法

Vim

:CtrlSF pattern dir # 如果后面不带 dir 则默认是 . 当前目录搜索 # 使用
j k h l 浏览CtrlSP窗口 使用 Ctrl + j/k 在匹配项中跳转。 # 使用 q 则退出
CtrlSP窗口 # 使用 p

1
2
3
4
:CtrlSF pattern dir  # 如果后面不带 dir 则默认是 . 当前目录搜索
# 使用 j k h l 浏览CtrlSP窗口  使用 Ctrl + j/k 在匹配项中跳转。
# 使用 q 则退出 CtrlSP窗口
# 使用 p

[html] view
plain
copy

快捷替换

可视化模式下选中其中一个,接着键入
ctrl-n,你会发现第二个该字符串也被选中了,持续键入
ctrl-n,你可以选中所有相同的字符串,把这个功能与 ctrlsf 结合

   taglist
可以用Vundle安装,在编辑代码文件时,输入命令”:TlistToggle”在右边就会出现当前类的函数或变量列表。输入命令“:tag
<函数名或变量、类>”,如果只有一个文件定义了该函数或变量、类,vim打开该文件并将光标定位到对应的位置;如果多个文件有这个函数名或变量、类的tag,将给提示,并可输入“:tselect”
,显示可选的文件。快捷键跳转Ctrl+],Ctrl-o。

整页翻页

Vim

ctrl-f # 下一页 f 就是`forword` ctrl-b # 上一页 b 就是`backward`

1
2
ctrl-f # 下一页 f 就是`forword`
ctrl-b # 上一页 b 就是`backward`

[html] view
plain
copy

主题风格

   winmanager
 可以用Vundle安装,管理窗口的插件,可以跟NERD_tree、Taglist插件结合,打造一个类似IDE的界面。只需要在NERD_tree.vim中加入如下代码:

精确替换

vim
有强大的内容替换命令,进行内容替换操作时,注意:如何指定替换文件范围、是否整词匹配、是否逐一确认后再替换。

Vim

:[range]s/{pattern}/{string}/[flags]

1
:[range]s/{pattern}/{string}/[flags]
  • 如果在当前文件内替换,[range] 不用指定,默认就在当前文件内;
  • 如果在当前选中区域,[range] 也不用指定,在你键入替换命令时,vim
    自动将生成如下命令::'<,'>s/{pattern}/{string}/[flags]
  • 你也可以指定行范围,如,第三行到第五行::3,5s/{pattern}/{string}/[flags]
  • 如果对打开文件进行替换,你需要先通过 :bufdo 命令显式告知 vim
    范围,再执行替换;
  • 如果对工程内所有文件进行替换,先 :args **/.cpp */*.h 告知 vim
    范围,再执行替换;

:21,27s/^/#/g 行首替换#替换(增加)掉
:ab mymail asdf@qq.com 输入mymail 摁下空格自动替换成asdf@qq.com

必赢娱乐棋牌 4

简单排版

Vim

:ce(nter) # 居中显示光标所在行 :ri(ght) # 靠右显示光标所在行 :le(ft)
# 靠左显示光标所在行 J # 将光标所在下一行合并到光标所在行 >> #
光标所在行增加缩进(一个tab) << # 光标所在行减少缩进(一个tab)
n>> # 光标所在行开始的n行增加缩进 n<< #
光标所在行开始的n行减少缩进

1
2
3
4
5
6
7
8
9
10
:ce(nter)  # 居中显示光标所在行
:ri(ght)   # 靠右显示光标所在行
:le(ft)    # 靠左显示光标所在行
J          # 将光标所在下一行合并到光标所在行
 
>>         # 光标所在行增加缩进(一个tab)
<<         # 光标所在行减少缩进(一个tab)
 
n>>        # 光标所在行开始的n行增加缩进
n<<        # 光标所在行开始的n行减少缩进

       
在这里稍微解释下几个文件的作用,/etc/bashrc、/etc/profile是系统全局环境变量设置,给所有用户使用,~/.bashrc、~/.bash_profile、~/.bash_login、~/.profile是用户目录下的私有变量设置。当进入系统运行一个bash
shell进程时,读取环境设定过程如下:1、读取全局环境变量设置/etc/profile,然后根据其内容读取/etc/profile.d、/etc/bashrc等设定,但是注意/etc/profile只在第一次运行bash
shell时读取一次,而/etc/bashrc在每次运行bash
shell都读取;2、然后读取当前用户目录下的~/.bash_profile、~/.bash_login或~/.profile三个中的其中一个文件的局部变量设置,而且只在第一次运行bash
shell时读取,只有读取~/.bash_profile失败才会读取~/.bash_login,如果前边两文件读取失败才会读取~/.profile;3、最后根据~/.bash_profile的内容读取当前用户目录下的~/.bashrc文件中的局部环境变量设置,~/.bashrc文件在每次打开新的bash
shell都读取一次。总结一下,/etc/bashrc、/etc/profile、~/.bashrc、~/.bash_profile、~/.bash_login、~/.profile都能设置环境变量,而/etc/profile、~/.bash_profile、~/.bash_login、~/.profile可以设定路径、环境变量等,只能登入的时候执行一次;/etc/bashrc、~/.bashrc保存路径、命令别名等,每次打开新的bash
shell都会执行一次,通常前者/etc/profile、~/.bash_profile调用后者/etc/bashrc、~/.bashrc。更详细的资料可以参考该链接:http://blog.chinaunix.net/uid-24591881-id-2124780.html 。

启动Vim

Shell

$ vim

1
$ vim

        

代码阅读

          ygg,拷贝到文件的开头。

           使用”m“命令标记当前光标的位置,位置的名称只能为a~z的单个字母(区分大小写)。比如:定义当前光标的位置为”E“,命令为”mE”。设置后可以通过单引号’+光标名称,或者上句号`+光标名称可以跳到指定的光标位置,区别是单引号 ’E命令跳转到标记光标位置所在行的首个非空字符(列的位置跟标记的时候不同),而上句号 `E跳转到标记的光标原来位置(包括行和列的位置都跟标记的时候一样)。输入”:marks“命令可以查看所有带名称的标记信息列表,其中有几个特殊的标记。比如:单引号 ‘ ,表示跳转前的位置。双引号 “表示Normal模式最后编辑的位置。中括号 [表示文件第一行的第一列。中括号 ]表示文件最后一行的第一列。 ^表示Insert模式下最后修改的位置。 . 表示无论是Insert模式或Normal模式最后修改的位置的开头。

[html] view
plain
copy

         向后查找字符,”?“后加上想查找的字符。想要向前查找光标后第三个匹配的字符,还需输入”3N“。向后第三个则输入”3n“。

       
 从当前光标位置上的字符一直删除到指定的字符(包括指定字符),用df命令,比如,删除到r,命令为dfr。从当前光标位置删除到指定字符的前一个字符,用dt命令,比如:dtr。

并且在winmanager.vim的找到下面代码,增加一句代码:

       
 删除换行符将两行连起来,光标移动到要合并的两行的第一行,然后输入J。

 

 

     
  从当前光标位置向前查找当前行上的某个指定字符的前一个字符,命令是t。比如:
查找o之前的字符,to。T也和t命令一样,但是查找方向相反。

         编辑菜单:

 

        可视化选择:v,V,Ctrl-v.
 v,V都可以进入Visual模式,而Ctrl-v可以进入Visual
Block模式(即块操作模式),在这两个模式下,都可以移动光标选定编辑文本。对选定文本执行c,y,d等操作,下面有几个常用的对选定文本的操作:

**           创建**~/.vim/dict     目录,
然后创建包含各种语言函数列表的txt文件;最后在~/.gvimrc文件加入如下命令:

  1. :BundleSearch matchit   

 

          输入“:help”进入帮助窗口;输入ZZ,退出帮助窗口。

          当同时打开多个文件,在多个文件间切换命令:

上述中的Tabular插件是用于编码中的字符对齐的,关于其具体用法见链接:https://github.com/godlygeek/tabular.用法是选定一段文本,然后输入相应的命令来根据相应的字符对齐。几个常用的命令如下:

  1. :BundleClean   
  1. :e! ~/.vimrc  

 

           保存文件并退出,输入ZZ或”:wq”或“:x”;放弃修改并退出,输入“:q!”;强制退出所有打开的文件,输入“:qa!”

[html] view
plain
copy

~/.gvimrc配置如下:

 

       
 gd命令到达光标所在处函数或变量定义之处。 

  在Nomal模式中输入v进入Visual模式。 在Insert模式或Visual模式中按Esc键即返回Normal模式。

   
   比如,拷贝matchit.txt到~/.vim/doc/下,拷贝matchit.vim到目录~/.vim/plugin/下, 

 

vim 命令(全)

        宏录制:q + <宏> + 操作队列 + q ,@<宏> ,
@@。
<宏>
可以是任意单个字母(区分大小写)或任意单个数字, q<宏> 进入recording模式,该模式下你的操作记录会保存到寄存器<宏>
中;然后输入@<宏>操作命令将重新执行被记录到寄存器<宏>中的命令;@@命令跟@<宏>的作用一样。**

[html] view
plain
copy

[html] view
plain
copy

 

 

  1. :Tab /=   
  2. :Tab /:  
  3. :Tab /:\zs  
  4. :Tab /|  

 

  1. ” An example for a vimrc file.一般设置cli相关设置,即命令行相关设置,插件相关设置。原因加载顺序是先读取vimrc配置,然后读取plugin插件,然后加载GUI,最后再读取gvimrc配置文件。所以,GUI以及快捷键一般放到gvimrc里设置,有时候在vimrc设置跟界面显示相关的没作用,要在gvimrc里设置才有用。vimrc配置是vim,gvimrc配置文件是gvim,如果想要vim也有配色等,可以将界面相关的设置放在vimrc文件里重新设置一下。  
  2.    
  3. “——————————————————————————-  
  4. ”           基本设置  
  5. “——————————————————————————-  
  6. ” When started as “evim”, evim.vim will already have done these settings.  
  7. if v:progname =~? “evim”  
  8.   finish  
  9. endif   
  10.   
  11. “启用Vim的特性,而不是Vi的(必须放到配置的最前边)  
  12. set nocompatible  
  13.   
  14. ” 设置编码    
  15. set encoding=utf-8    
  16. set fenc=utf-8    
  17. set fileencodings=ucs-bom,utf-8,cp936,gb2312,gb18030,big5   
  18.    
  19. “显示行号  
  20. set number  
  21.   
  22. “设置默认打开窗口大小  
  23. set lines=70 columns=100  
  24.   
  25. “设置窗口透明度  
  26. set transparency=10  
  27.   
  28. “设置背景色  
  29. “set bg=dark  
  30.   
  31. “用 koehler 调色板  
  32. colorscheme koehler  
  33.   
  34. “隐藏工具栏和滑动条  
  35. set guioptions=aAce      
  36.             
  37. “设置标签栏  
  38. “最多30个标签  
  39. set tabpagemax=30   
  40. “显示标签栏    
  41. set showtabline=2     
  42.        
  43.   
  44. “设定文件浏览器目录为当前目录  
  45. “set bsdir=buffer  
  46. “set autochdir  
  47.   
  48. “保存100条命令历史记录  
  49. set history=100   
  50.       
  51. “总是在窗口右下角显示光标的位置  
  52. set ruler     
  53.       
  54. “在Vim窗口右下角显示未完成的命令   
  55. set showcmd           
  56.   
  57. ” 启用鼠标  
  58. if has(‘mouse’)  
  59.   set mouse=a  
  60. endif  
  61.   
  62. “设置语法高亮  
  63. if &t_Co > 2 || has(“gui_running”)  
  64. syntax on  
  65. endif  
  66.   
  67.   
  68. “——————————————————————————-  
  69. ”           文本操作设置  
  70. “——————————————————————————-  
  71. “设置字体  
  72. set gfn=Courier:h15  
  73.   
  74. “设置自动缩进  
  75. “设置智能缩进  
  76. set tabstop=4  
  77. set shiftwidth=4  
  78. set softtabstop=4  
  79. set expandtab  
  80. set smarttab  
  81.   
  82.   
  83. “设置Tab键跟行尾符显示出来  
  84. set list lcs=tab:>-,trail:-  
  85.   
  86. “设置自动换行  
  87. set wrap  
  88.   
  89. “设置Insert模式和Normal模式下Left和Right箭头键左右移动可以超出当前行  
  90. set whichwrap=b,s,<,>,[,]  
  91.   
  92. “设置光标移动到屏幕之外时,自动向右滚动10个字符  
  93. set sidescroll=10  
  94.   
  95.   
  96.   
  97.   
  98.   
  99.   
  100. “设置使~命令成为操作符命令,从而使~命令可以跟光标移动命令组合使用  
  101. set tildeop  
  102.   
  103. “在Insert模式下,设置Backspace键如何删除光标前边的字符。这里三个值分别表示空白字符,分行符和插入模式之前的字符。  
  104. set backspace=indent,eol,start  
  105.   
  106. “定义键映射,不使用Q命令启动Ex模式,令Q命令完成gq命令的功能—即文本格式化。  
  107. map Q gq  
  108.   
  109. ” CTRL-U 在Insert模式下可以删除当前光标所在行所在列之前的所有字符.  Insert模式下,在Enter换行之后,可以立即使用CTRL-U命令删除换行符。  
  110. inoremap <C-U> <C-G>u<C-U>  
  111.   
  112. “使 “p” 命令在Visual模式下用拷贝的字符覆盖被选中的字符。  
  113. vnoremap p <Esc>:let current_reg = @”<CR>gvs<C-R>=current_reg<CR><Esc>  
  114.   
  115.   
  116. “——————————————————————————-  
  117. ”           搜索设置  
  118. “——————————————————————————-  
  119. “打开搜索高亮  
  120. set hlsearch  
  121.   
  122. “忽略大小写  
  123. set ignorecase  
  124.   
  125. “在查找时输入字符过程中就高亮显示匹配点。然后回车跳到该匹配点。  
  126. set incsearch     
  127.   
  128. “设置查找到文件尾部后折返开头或查找到开头后折返尾部。  
  129. set wrapscan  
  130.   
  131.   
  132.   
  133. “——————————————————————————-  
  134. ”           文件设置  
  135. “——————————————————————————-  
  136.   
  137. “设置当Vim覆盖一个文件的时候保持一个备份文件,但vms除外(vms会自动备份。备份文件的名称是在原来的文件名上加上 “~” 字符  
  138. if has(“vms”)  
  139.   set nobackup         
  140. else  
  141.   set backup          
  142. endif  
  143.   
  144.   
  145. if has(“autocmd”)  
  146.   “启用文件类型检测并启用文件类型相关插件,不同类型的文件需要不同的插件支持,同时加载缩进设置文件, 用于自动根据语言特点自动缩进.  
  147.   filetype plugin indent on  
  148.     
  149.   “将下面脚本命令放到自动命令分组里,这样可以很方便地删除这些命令.  
  150.   augroup vimrcEx  
  151.   au! “删除原来组的自动命令  
  152.   
  153.   “对于所有文件类型,设置textwidth为78个字符.  
  154.   autocmd FileType text setlocal textwidth=78  
  155.   
  156.   //vim启动后自动打开NerdTree  
  157.   autocmd vimenter * NERDTree  
  158.   autocmd vimenter * if !argc() | NERDTree | endif  
  159.   “设置关闭vim NerdTree窗口  
  160.   autocmd bufenter * if (winnr(“$”) == 1 && exists(“b:NERDTreeType”) && b:NERDTreeType == “primary”) | q | endif  
  161.   
  162.   “当打开编辑文件时总是自动执行该脚本,跳转到最后一个有效的光标位置Mark标记。当一个事件正在处理时,不执行该脚本命令。  
  163.   “行首的反斜杠用于把所有语句连接成一行,避免一行写得太长.   
  164.   autocmd BufReadPost *  
  165.     \ if line(“‘\””) > 1 && line(“‘\””) <= line(“$”) |  
  166.     \   exe “normal! g`\”” |  
  167.     \ endif  
  168.   
  169.   augroup END  
  170. else  
  171.   “Enter换行时总是使用与前一行的缩进等自动缩进。  
  172.   set autoindent  
  173.   “设置智能缩进  
  174.   set smartindent         
  175. endif    
  176.   
  177.   
  178. “编辑一个文件时,你所编辑的内容没保存的情况下,可以把现在的文件内容与编辑之前的文件内容进行对比,不同的内容将高亮显示  
  179. if !exists(“:DiffOrig”)  
  180.   command DiffOrig vert new | set bt=nofile | r ++edit # | 0d_ | diffthis  
  181.           \ | wincmd p | diffthis  
  182. endif  
  183.   
  184.   
  185. “——————————————————————————-  
  186. ”           插件设置  
  187. “——————————————————————————-  
  188.   
  189. “插件相关的设置  
  190. “matchit 的字符匹配自定义设置  
  191. let b:match_words = ‘\<if\>:\<endif\>,’  
  192.         \ . ‘\<while\>:\<continue\>:\<break\>:\<endwhile\>’  
  193.   
  194.   
  195.   
  196. “Vundle 的配置  
  197.   
  198. filetype off                   ” required!  
  199.   
  200. set rtp+=~/.vim/bundle/vundle/  
  201. call vundle#rc()  
  202. 必赢娱乐棋牌,  
  203. ” let Vundle manage Vundle  
  204. ” required!   
  205. “管理Vim插件   
  206. Bundle ‘gmarik/vundle’   
  207.   
  208.   
  209. ” My Bundles here:  
  210. ” original repos on github  
  211. “文本按字符对齐  
  212. Bundle ‘godlygeek/tabular’  
  213.   
  214. ” vim-scripts repos  
  215. “实现“begin”/“end”类似地匹配,~/.vimrc文件中添加自定义的设置:let b:match_words = ‘\<if\>:\<endif\>,’  
  216.         \ . ‘\<while\>:\<continue\>:\<break\>:\<endwhile\>’  
  217. Bundle ‘matchit.zip’       
  218. Bundle ‘moria’  
  219. Bundle ‘word_complete.vim’  
  220. Bundle ‘SuperTab’  
  221. Bundle ‘xptemplate’  
  222. Bundle ‘ctags.vim’  
  223. Bundle ‘taglist.vim’  
  224. Bundle ‘winmanager’  
  225. Bundle ‘Command-T’  
  226.   
  227. ” non github repos  
  228. “Bundle ‘git://git.wincent.com/command-t.git’  
  229. ” …  
  230. Bundle ‘https://github.com/scrooloose/nerdtree.git‘  
  231.    
  232. filetype plugin indent on     ” required!  
  233. ”  
  234. ” Brief help  
  235. ” :BundleList          – list configured bundles  
  236. ” :BundleInstall(!)    – install(update) bundles  
  237. ” :BundleSearch(!) foo – search(or refresh cache first) for foo  
  238. ” :BundleClean(!)      – confirm(or auto-approve) removal of unused bundles  
  239. ”  
  240. ” see :h vundle for more details or wiki for FAQ  
  241. ” NOTE: comments after Bundle command are not allowed..  

[html] view
plain
copy

        c$的等价快捷键为C, 作用修改到行尾。

        !           过滤警告操作命令

         
修改字符的操作命令是c。作用是删除字符后自动切换到Insert模式,比删除操作命令多了一个切换到Insert模式的功能。

          使用“:helptags ~/.vim/doc”
命令产生插件的本地tags文件,从而可以在帮助中查询插件的文档。

         (2)、删除字符:

         输入”/”、”?“、”:”后,按方向键上箭头或下箭头,可以查找同样的历史命令记录。

         文件菜单:

         使用R命令启动Replace模式,
这个模式下在当前光标位置所在字符开始往后一直可以持续用新输入的字符替换所有原有字符,直到你退出Replace模式。在这个模式下,使用退格键Backspace,原来被替换的字符会恢复。

          修改当前光标之前的单词,cb.

将Vim改造为强大的IDE—Vim集成Ctags/Taglist/Cscope/Winmanager/NERDTree/OmniCppComplete(有图有真相)

       
 删除某个字符,移动光标到所在字符,然后输入x或dl(光标下的字符)、X或dh(光标签的字符);删除多个字符,可以在x之前加数字;

  1. Bundle ‘matchit.zip’  

    **

 

          使用 :help text-objects
可以在帮助里查看更多的文本对象的更多命令内容。

  1. au FileType cpp setlocal dict+=~/.vim/dict/cpp_function_list.txt  

 i、Vim的模式

  1. git clone https://github.com/gmarik/vundle.git ~/.vim/bundle/vundle  
   进入Insert模式的命令区别
命令 区别
     i  在光标之前插入字符
     I 在光标所在行的所有字符开头之前插入字符
    a 在光标之后插入字符
    A 在光标所在行的所有字符之后插入字符
o 在当前光标的下面打开新的一行
O 在当前光标的上面打开新的一行
s 删除当前光标下的字符
S 删除当前光标所在行的所有字符
r 用新输入的字符替换当前光标所在字符,然后立即返回Normal模式
R 在当前光标位置所在字符开始往后一直用新输入的字符替换所有原有字符

         Undo   快捷键  command+z

必赢娱乐棋牌 5

 

 

  1. ” An example for a gvimrc file.一般设置GUI和快捷键等  
  2. “——————————————————————————-  
  3. ”           gvimrc导入的默认设置  
  4. “——————————————————————————-  
  5. ” 设置窗口底部命令有两行  
  6. set ch=2  
  7.       
  8. ” 输入文本时隐藏鼠标  
  9. set mousehide         
  10.   
  11. “键位映射,使shift-insert快捷键像在 Xterm程序中一样工作  
  12. map <S-Insert> <MiddleMouse>  “鼠标中键代表快捷粘贴  
  13. map! <S-Insert> <MiddleMouse>  
  14.   
  15. ” Vim版本5.0或以上下面脚本工作.  
  16. if version >= 500  
  17.   
  18.   “高亮C注释字符串  
  19.   let c_comment_strings=1  
  20.   
  21.   “如果没启动语法高亮,启动语法高亮  
  22.   if !exists(“syntax_on”)  
  23.     syntax on  
  24.   endif  
  25.   
  26.   “启动搜索高亮.  
  27.   set hlsearch  
  28.    
  29.   ” 设置颜色  
  30.   ” 文本背景为浅灰色  
  31.   ” 文本的最后一行为深灰色  
  32.   ” 光标设置成绿色, C当 “:lmap”映射激活时变成青色  
  33.   ” 常量设置为没有底线,但常量的背景颜色浅一些  
  34.   highlight Normal guibg=grey90  
  35.   highlight Cursor guibg=Green guifg=NONE  
  36.   highlight lCursor guibg=Cyan guifg=NONE  
  37.   highlight NonText guibg=grey80  
  38.   highlight Constant gui=NONE guibg=grey95  
  39.   highlight Special gui=NONE guibg=grey95  
  40.   
  41. endif  
  42.   
  43.   
  44.   
  45.   
  46. “——————————————————————————-  
  47. ”           基本设置  
  48. “——————————————————————————-  
  49. ” When started as “evim”, evim.vim will already have done these settings.  
  50. ” 设置编码    
  51. set encoding=utf-8    
  52. set fenc=utf-8    
  53. set fileencodings=ucs-bom,utf-8,cp936,gb2312,gb18030,big5   
  54.    
  55. “显示行号  
  56. set number  
  57.   
  58. “设置默认打开窗口大小  
  59. set lines=70 columns=100  
  60.   
  61. “设置窗口透明度  
  62. set transparency=10  
  63.   
  64. “设置背景色  
  65. “set bg=dark  
  66.   
  67. “用 koehler 调色板  
  68. colorscheme koehler  
  69.   
  70. “隐藏工具栏和滑动条  
  71. set guioptions=aAce      
  72.             
  73. “开启自带的tab栏  
  74. set showtabline=2   
  75.           
  76. “总是在窗口右下角显示光标的位置  
  77. set ruler     
  78.       
  79. “在Vim窗口右下角显示未完成的命令   
  80. set showcmd           
  81.   
  82. “设置语法高亮  
  83. if &t_Co > 2 || has(“gui_running”)  
  84. syntax on  
  85. endif  
  86.   
  87.   
  88. “——————————————————————————-  
  89. ”           文本操作设置  
  90. “——————————————————————————-  
  91. “设置字体  
  92. set gfn=Courier:h15  
  93.   
  94. “设置自动缩进  
  95. set tabstop=4  
  96. set shiftwidth=4  
  97. set softtabstop=4  
  98. set noexpandtab  
  99.   
  100. “设置Tab键跟行尾符显示出来  
  101. set list lcs=tab:>-,trail:-  
  102.   
  103.   
  104. “设置自动换行  
  105. set wrap  
  106.   
  107. “设置光标移动到屏幕之外时,自动向右滚动10个字符  
  108. set sidescroll=10  
  109.   
  110.   
  111. “——————————————————————————-  
  112. ”           搜索设置  
  113. “——————————————————————————-  
  114. “打开搜索高亮  
  115. set hlsearch  
  116.   
  117. “忽略大小写  
  118. set ignorecase  
  119.   
  120. “在查找时输入字符过程中就高亮显示匹配点。然后回车跳到该匹配点。  
  121. set incsearch     
  122.   
  123. “设置查找到文件尾部后折返开头或查找到开头后折返尾部。  
  124. set wrapscan  
  125.   
  126.   
  127.   
  128. “——————————————————————————-  
  129. ”           文件设置  
  130. “——————————————————————————-  
  131.   
  132.   
  133.   
  134. “——————————————————————————-  
  135. ”           插件界面设置  
  136. “——————————————————————————-  
  137.   
  138. “ctags的设置,这里的ctags是用MacPorts安装的,用Vundle安装的’ctags.vim’有问题,系统自带的ctags也有点问题  
  139. let Tlist_Ctags_Cmd=”/opt/local/bin/ctags”  
  140.   
  141. let Tlist_Exist_OnlyWindow=1 ” 如果taglist窗口是最后一个窗口,则退出vim  
  142. let Tlist_Auto_Update ” Update the tag list automatically  
  143.   
  144. “在vim左侧显示窗口Taglist和文件列表窗口  
  145. “let g:winManagerWindowLayout=’FileExplorer,BufExplorer|TagList’  
  146. let g:winManagerWindowLayout=’NERDTree, BufExplorer|TagList’  
  147. “打开vim时自动打开winmanager  
  148. let g:AutoOpenWinManager = 1  
  149. “定义打开关闭winmanager的快捷键  
  150. nmap wt :WMToggle<cr>  

 

          yy命令拷贝一整行,快捷方式为Y。

   
 $VIM系统变量的路径为:”/Applications/MacVim.app/Contents/Resources/vim”

         Close window 快捷键 Shift+Command+w

[html] view
plain
copy

          修改光标上的单词,包括空格,caw。

[html] view
plain
copy

         向前查找字符单词命令, ”/“后加上想查找的字符单词。比如:”/a“ 就是查找字符”a“。想要向前查找当前光标后第三个匹配的a,还需要输入”3n“命令。向后第三个则输入”3N“。

 

必赢娱乐棋牌 6  
最后在~/.vimrc中的注释” vim-scripts
repos下,加入如下命令并保存.vimrc文件,这样一个插件就安装成功了:

         
修改到指定字符(包括指定字符),比如修改到e,命令为cfe。

 

       
 yw拷贝当前光标到下一个单词的开头,yb拷贝当前光标到上一个单词的开头。yiw,拷贝光标上的单词(不包括空格)。yaw,拷贝光标上的单词(包括空格)。

 

          修改当前光标后的3个词,组合命令是c3w。

 

        (1)、光标的移动: 

 

 

 

 

         (16)、在vim中打开编辑文件命令: 

       
 “.”命令表示重复最后一次除u命令、Ctrl-r命令和冒号命令之外的任何操作命令。

 

     从上图可以看出一些MacVim的配置信息:

        cc的等价快捷键为S,作用修改一整行。

 

 

  1. “在vim左侧显示窗口Taglist和文件列表窗口  
  2. “let g:winManagerWindowLayout=’FileExplorer,BufExplorer|TagList’  
  3. let g:winManagerWindowLayout=’NERDTree, BufExplorer|TagList’  
  4. “打开vim时自动打开winmanager  
  5. let g:AutoOpenWinManager = 1  
  6. “定义打开关闭winmanager的快捷键为 wt组合键命令  
  7. nmap wt :WMToggle<cr>  

   
  **NERD_tree :*** 一个文件管理插件,一些常用命令:
打开一个目录树( :NERDTree <启动目录> | <bookmark>  )
 关闭目录树栏(:NERDTreeClose);切换目录树栏(:NERDTreeToggle);
 定义标签(:Bookmark <name>);定义Root标签(:BookmarkToRoot
<bookmark>)。。。。。。更多命令和用法见 :help NERD_tree。

 

搜索新的插件:

  1. :BundleInstall  

        分屏:

[html] view
plain
copy

   
 另外解释下, $HOME为当前用户目录的路径,$VIMRUNTIME路径为”/Applications/MacVim.app/Contents/Resources/vim”
. 可以在MacVim中输入”:echo $VIMRUNTIME“来查看这些系统变量的路径。

       
最后,登陆MacVim,运行:BundleInstall命令。这样,Vundle.vim管理插件就安装成功。接下来继续简单介绍下,Vundle插件的使用:

         
同样地,在Visual模式下,也可以用文本对象命令来选中更多的文本。比如使用aw选中当前的整个单词,再次使用则选中多一个单词。

 

 

     用户配置文件vimrc的路径:”$HOME/.vimrc”

           ”/d.i“只匹配第一个字符是”d“,第二个字符是任意字符,第三个字符是”i“的字符串。

 

 

   Command-t
用Commad-t命令快速查找切换文件。如果是用Vundle安装的话,还不能使用,在MacVim中输入“:CommandT”命令会报错。用Vundle安装好打开终端,输入如下命令,等待编译完毕后就可以使用了:

[html] view
plain
copy

          向后查找当前光标上的单词,则可以输入”#“。想要向后查找当前光标的第2个单词,可以输入”2#“。

分别是选定文本按=、:、:\zs、|等符号对齐。

 

         :scriptnames命令可以查找~/.vimrc或~/.gvimrc或插件等文件的路径。

 

   a.vim :在.cpp文件和.h头文件间快速切换的插件。

       
 r命令是进入Insert模式的命令之一,进入Insert模式等待你输入一个字符替换当前光标上的字符后自动返回Normal模式。 

         移动到行首第一个非空字符,输入”^”或按Home键;移动到光标所在行的第一个字符(包括空格);移动到行尾,输入”$”或按End键。注意,这个只有”$”或按End键之前加数字会生效。

 

      其二,在你的vimrc配置文件最后加一行命令:

          cgg,修改到文件的开头。

        d          删除操作命令

ii、VIm的常用命令(不做特殊注释的话,下面的命令一般在Normal模式生效,一般对文本操作的命令在Visual模式下也同样生效)

 

[html] view
plain
copy

        >      
 选中文本向右Tab缩进。在Normal模式和Visual模式下都能生效。

[html] view
plain
copy

        一些经常使用的组合命令,存在等价的快捷单字符命令:

 

 

清除插件命名(这个命令我测试有些插件删除不了,手动删除~/.vim/bundle的相关插件的目录,并将~/.vimrc中的相关配置去掉即可):

     MacVim的系统配置文件vimrc的路径:“$VIM/vimrc”

     (18)、快捷键与一些常用的命令:

必赢娱乐棋牌 7

     MacVim的系统配置文件gvimrc的路径:”$VIM/gvimrc”

        ~        
 修改选中的字符的大小写,原来大写的转换成小写,原来小写的转成大写。在Visual模式和Normal模式下都能生效。
注意,只有tiledeop设置后,这个才能成为一个操作命令,才可用该命令与其他光标移动的命令组合使用。

 

 y$拷贝到行尾。

          修改光标上的单词,不包括空格,ciw。

         dG
表示从当前光标位置一直删除到文件的末尾。dgg表示从当前光标位置一直删除到文件的开始。

 

 

      其一:拷贝该
plugin_name.vim插件到你个人插件目录~/.vim/plugin/下,拷贝plugin_help.txt到你个人文档目录~/.vim/doc/下,若存在该插件syntax的vim支持文件则放到~/.vim/syntax/目录下,如果以上目录不存在到终端输入如下命令创建:

 

 

         Ctrl-f光标向前移动一整屏,Ctrl-b光标向后移动一整屏。

最后在~/.gvimrc中加入如下配置:

       gu        修改选中的字符为小写操作命令。

 

         “%”命令可以将当前光标所在的括弧移动到匹配的括弧的位置,比如:从”)“移动到”(“,反之亦然。

       
 之前介绍过,在Normal模式下,输入v,进入Visual模式。这样,你对光标作任何移动操作,从当前光标位置到移动到的位置之间的文本都会高亮,此时输入操作命令,比如删除命令d,则高亮部分文本会被删除。

 

必赢娱乐棋牌 8

         (10)、命令次数:

         
使用d、x或其它命令删除文本的时候,这些被删除的文字将会被Vim缓存起来。可以使用p命令将该被删除的文本在当前光标的前面(比如前一行)重新粘贴出来。

         (15)、显示Vim相关的文件路径

   
 其次,从系统文件vimrc_example.vim和gvimrc_example.vim中copy标准的内容,保存到用户的配置文件~/.vimrc和~/.gvimrc中。在MacVim中输入如下命令:

 

 

** [N]-Ctrl-w-s、[N]-ctrl-w-S或:[N]sp[lit],组合命令将Vim的屏幕高度分出一个新的具有N行的屏幕,其中[N]和[lit]选项可以不输入。即:sp或:5split都是合法的分屏命令。**

          (14)、标签跳转:

         移动到指定行,比如想移动到第30行,输入30G或输入30gg。没有数字限制的话,G命令将光标移动到文件的尾部,gg命令移动光标到文件开始。

   minibufexplorerpp : 操作缓存buffer窗口。

         ”*“和”#“命令匹配当前光标所在单词, ”*“移动光标的下一个匹配单词,而”#“命令是移动光标到上一个匹配单词。

 

 

       g~      
 修改选中的字符的大小写操作命令,原来大写的转换成小写,原来小写的转成大写。

         Paste 快捷键 command+v 

  1. :e $VIMRUNTIME/vimrc_example.vim  
  2. :saveas ~/.vimrc  
  3. :e $VIMRUNTIME/gvimrc_example.vim  
  4. :saveas ~/.gvimrc  


相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图