#vim 笔记

:w !sudo tee % cmap w!! w !sudo tee > /dev/null % 键盘映射强制保存 只读文件

【:r!date】 插入日期

:set wrap 设置自动折行 :set nowrap 设置不自动折行

上面这个命令,:r 是:read的缩写,!是表明要运行一个shell命令,意思是我要把shell命令的输出读到vim里来。

【guu 】 - 把一行的文字变成全小写。或是【Vu】

【gUU】 - 把一行的文件变成全大写。或是【VU】

按【v】键进入选择模式,然后移动光标选择你要的文本,按【u】转小写,按【U】转大写

【ga】 - 查看光标处字符的ascii码

【g8】 - 查看光标处字符的utf-8编码 【Ctrl +N】 - 当你按下这它时,你会发现Vim就开始搜索你这个目录下的代码,搜索完成了就会出现一个下拉列

分屏

ctrl+w s 上下分 v 左右分

让所有的屏都有一样的高度。

Ctrl+W =

增加高度。

Ctrl+W +

减少高度。

Ctrl+W -

快捷键

zz 将当前行居中显示

ctrl+u/d 半屏翻页(u-up d-down)

:sp filename 左右分并打开文件

组词为句

有了这些基本的语言元素,我们就可以着手构造一些简单的命令了。文本编辑命令的基本语法如下:

动词 介词 名词 下面是一些例子(如果熟悉了上面的概念,你将会看到这些例子非常容易理解),请亲自在 Vim 中试验一番。

删除一个段落: delete inside paragraph dip

选取一个句子: visual select inside sentence vis

修改一个单词: change inside word ciw

修改一个单词: change around word caw

删除文本直到字符“x”(不包括字符“x”): delete to x dtx

删除文本直到字符“x”(包括字符“x”): delete forward x dfx 数词

数词指定了待编辑文本对象的数量,从这个角度而言,数词也可以看作是一种介词。引入数词之后,文本编辑命令的语法就升级成了下面这样:

动词 介词/数词 名词 下面是几个例子:

修改三个单词:change three words c3w

删除两个单词:delete two words d2w 另外,数词也可以修饰动词,表示将操作执行 n 次。于是,我们又有了下面的语法:

数词 动词 名词 请看示例:

两次删除单词(等价于删除两个单词): twice delete word 2dw

三次删除字符(等价于删除三个字符):three times delete character 3x

插件

https://github.com/yuratomo/w3m.vim

:ConqueTerm bash :ConqueTerm mysql -h localhost -u joe -p sock_collection :ConqueTerm Powershell.exe :ConqueTerm C:\Python27\python.exe

To open ConqueTerm in a new horizontal or vertical buffer use:

:ConqueTermSplit :ConqueTermVSplit :ConqueTermTab

All text typed in insert mode will be sent to your shell. Use the key to send a visual selection from any buffer to the shell.

For more help type :help ConqueTerm

正则

删除以 // 开头的注释

%s/\/{2}.*$//c

删除空白行

:g/^$/d

easymotion

" f{char} to move to {char} map f (easymotion-bd-f) nmap f (easymotion-overwin-f)

" s{char}{char} to move to {char}{char} nmap s (easymotion-overwin-f2)

" Move to line map L (easymotion-bd-jk) nmap L (easymotion-overwin-line)

" Move to word map w (easymotion-bd-w) nmap w (easymotion-overwin-w)

ctags

把光标移动到某个元素上,CTRL+],就会跳转到对应的定义啦。CTRL+o可以回退到原来的地方。