记录一些简单实用的vim用法
2010-05-18 10:45
225 查看
lsof -i:6789
查看哪些进程占用了6789端口
1.
假如有这么一句 #include "SocketTask.h"
如果想查看这个文件内容,那么就把光标放上面,输入命令gf~好记吧
2.
:q是退出; q:呢?是查看输入的命令历史
3. 寄存器命令
用q命令,后面跟寄存器名字(单个字母假设是a),开始记录你的命令输入; 最后输入q,结束命令记录;
用@a 重复执行你刚才记录的命令
4. CTRL+D CTRL+U是翻滚半个屏幕,而CTRL+B CTRL+F是翻滚整个屏幕
5. H 光标移动到屏幕第一行
M 移动到中间一行
L 移动到最后一行
6 vi -R file或者view file,只读打开文件
7 恢复删除:每当你删除一些内容,这些内容被保存在缓冲区。一共有9个这样的缓冲区,最近删除的保存在缓冲区1.
"2p命令就是把缓冲区2的内容粘贴出来,注意,前面有个引号。
8 复制到缓冲区:"dyy 前面有个引号,把当前行复制到d缓冲区; "dp 把缓冲区d的内容粘贴出来
"a7yy 把当前七行复制到缓冲区a。
9 书签: mx 命令 把当前位置命名为书签x,x是任意字母。 'x 是定位到书签x
10 冒号模式下 :/pattern/d 删除匹配的一行
:g/pattern/d 删除匹配的所有行
11 编辑多文件 vi file1 file2
:n 切换文件
12 另一种复制粘贴的办法
:1,5ya a 复制前5行到缓冲区a
:pu a 将缓冲区a的内容粘贴出来
13 替换时确认
:1,$s/old/new/gc
14 命令模式下不会被使用的字符:g K q v V
map的时候考虑这几个字母
15 :set list
文本中的tab会被显示为^I, 结束符会显示为$
16 关于 关键字 自动补全
) CTRL X + CTRL L, 在本文件中寻找匹配的某一行,自动补全
) CTRL X + CTRL N, 在本文件中寻找匹配的某一关键词,自动补全
) CTRL X + CTRL I, 在本文件以及include头文件中寻找匹配的某一关键词,自动补全
) CTRL X + CTRL P, 在本文件寻找匹配的某一关键词,自动补全
) CTRL X + CTRL F, 寻找匹配的某一文件名,自动补全
) CTRL X + CTRL D, 在本文件以及include头文件中寻找匹配的宏定义,自动补全
17 w 是移动到单词首字母,而 e 是移动到单词尾字母 减号是移动到上一行的首部
dG 从光标位置删除到文件尾部,
yG 从光标位置到文件尾部,复制
18 VISUAL模式
v 进入该模式, aw 选择一个单词;
其实在visual模式下,命令模式下的命令仍然是有用的~
////////////////////
VIM手册
这个命令打开语法高亮:
实际上,它只是执行如下命令
如果没有设置 VIM 环境变量,Vim 会试图用其它方法找到该路径 (见 |$VIMRUNTIME|)。
通常总能找到,如果不行,你可以自己设置 VIM 环境变量为存放 Vim 相关文件所在的
目录。例如,如果你的语法文件放在 "/usr/vim/vim50/syntax" 目录,设置
$VIMRUNTIME 为 "/usr/vim/vim50"。启动 Vim 前,你必须在外壳上进行此设置。
*:syn-on* *:syntax-on*
":syntax enable" 命令会保持你当前的色彩设置。这样,不管在使用此命令的前后,你
都可以用 ":highlight" 命令设置你喜欢的颜色。如果你希望 Vim 用缺省值覆盖你自己
的,只要用:
*:hi-normal* *:highlight-normal*
如果你运行在 GUI 环境里,你可以这样得到黑底白字:
关于色彩终端,见 |:hi-normal-cterm|。
关于设置你自己的语法高亮色彩,见 |syncolor|。
结尾。这意味着你需要为自己的系统选择合适的文件。不过,在 MS-DOS 和 Windows
上,如果 'fileformats' 选项非空,会自动选择正确的格式。
GUI 窗口打开时才会设置。这发生在 |gvimrc| 的读入之后,从而会使用错误的缺省高
亮。要在打开高亮前设置 'background' 的缺省值,在 |gvimrc| 文件里包含 ":gui" 命
令:
":gui -f"。
你可以用这个命令切换语法的打开/关闭
要把它放到映射里,你可以用:
:syntax enable $VIMRUNTIME/syntax/syntax.vim
:syntax on $VIMRUNTIME/syntax/syntax.vim
:syntax manual $VIMRUNTIME/syntax/manual.vim
:syntax off $VIMRUNTIME/syntax/nosyntax.vim
另见 |syntax-loading|。
中,
限制)。
例如:
c.vim perl.vim java.vim html.vim
cpp.vim sh.vim csh.vim
语法文件可以包含任何 Ex 命令,就像 vimrc 文件那样。但应该只有适用于特定语言的
命令才放在里面。如果该语言是另外一个语言的超集,它可以包含那个语言对应的文件。
例如,cpp.vim 可以包含 c.vim 文件:
.vim 文件通常使用自动命令载入。例如:
这些命令通常出现在 $VIMRUNTIME/syntax/synload.vim 文件里。
如果你有多个文件,可以用文件类型作为目录名。该目录下的所有 "*.vim" 文件都会被
使用。例如:
~/.vim/after/syntax/c/one.vim
~/.vim/after/syntax/c/two.vim
创 立 你 自 己 的 语 法 文 件 *mysyntaxfile*
一旦你创立自己的语法文件,并且需要 Vim 在使用 ":syntax enable" 的时候自动调用
它们的时候,按如下操作进行:
1. 建立自己的用户运行时目录。通常,把它放在 'runtimepath' 选项的第一项。Unix
的例子:
2. 在其中建立 "syntax" 目录。Unix 上:
3. 编写 Vim 语法文件。或者从 internet 下载。然后写入你的 syntax 目录。例如,对
于 "mine" 语言的语法:
现在你可以手动启动语法文件:
这时,你并不需要退出 Vim。
如果你想 Vim 也实现文件类型的检测,见 |new-filetype|。
如果你想为多个用户设立系统,而不希望每个用户增加相同的语法文件的话,可以使用
'runtimepath' 里的其它目录。
添 加 到 已 存 在 的 语 法 文 件 *mysyntaxfile-add*
如果你对已有的语法文件大体满意,只需要增加或者修正一些高亮项目,执行以下步骤即
可:
1. 建立你的 'runtimepath' 里的用户目录,见上。
2. 在那里建立目录 "after/syntax"。Unix 上:
3. 编写 Vim 脚本,包含你希望使用的命令。例如,要在 C 语法里改变颜色:
4. 把该文件写道 "after/syntax" 目录。使用该语法的名字,另加上 ".vim"。对于我们
的 C 语法:
这样就行了。下一次你编辑 C 文件时,Comment 色彩就不会一样了。你甚至不需要重启
Vim。
替 换 已 存 在 的 语 法 文 件 *mysyntaxfile-replace*
如果你不喜欢发布的语法文件版本,或者你下载了新版本。可以采用上述的
|mysyntaxfile| 相同的步骤。只要确保你写的语法文件在 'runtimepath' 较早的位置就
可以了。Vim 只会载入第一个找到的语法文件。
命 名 惯 例
*group-name* *{group-name}">
高亮或者语法组的名字必须由 ASCII 字母,数字和下划线组成。如使用正规表达式表示:
"[a-zA-Z0-9_]*"。
要允许每个用户选择他自己喜欢的色彩系列,许多语言应该使用相同的高亮组名。以下是
建议的组名 (如果语法高亮能够正确工作,你应该能看到实际的颜色,除了 "Ignore" 以
外):
*Comment v 任何注释
*Constant v 任何常数
String v 一个字符串常数: "这是一个字符串"
Character v 一个字符常数: 'c'、'/n'
Number v 一个数字常数: 234、0xff
Boolean v 一个布尔型常数: TRUE、false
Float v 一个浮点常数: 2.3e10
*Identifier v 任何变量名
Function v 函数名 (也包括: 类的方法名)
*Statement v 任何语句
Conditional v if、then、else、endif、switch 等
Repeat v for、do、while 等
Label v case、default 等
Operator v "sizeof"、"+"、"*" 等
Keyword v 任何其它关键字
Exception v try、catch、throw
*PreProc v 通用预处理命令
Include v 预处理命令 #include
Define v 预处理命令 #define
Macro v 等同于 Define
PreCondit v 预处理命令 #if、#else、#endif 等
*Type v int、long、char 等
StorageClass v static、register、volatile 等
Structure v struct、union、enum 等
Typedef v 一个 typedef
*Special v 任何特殊符号
SpecialChar v 常数中的特殊字符
Tag v 这里可以使用
Delimiter v 需要
SpecialComment v 注释里的特殊字符
Debug v 调试语句
*Underlined v 需要突出的文本,HTML 链接
*Ignore v 留空,被隐藏
*Error v 任何有错的构造
*Todo v 任何需要特殊
* 标记的名字是主要组,其它是次要组。对主要组而言,"syntax.vim" 文件包含缺省的
高亮设置。次要组则链接到主要组。所以它们拥有相同的高亮设置。不过,你可以通过
":highlight" 命令在 "syntax.vim" 文件之后改变所有组的缺省值。
以下名字是保留字,它们不应用作组名:
NONE ALL ALLBUT contains contained
查看哪些进程占用了6789端口
1.
假如有这么一句 #include "SocketTask.h"
如果想查看这个文件内容,那么就把光标放上面,输入命令gf~好记吧
2.
:q是退出; q:呢?是查看输入的命令历史
3. 寄存器命令
用q命令,后面跟寄存器名字(单个字母假设是a),开始记录你的命令输入; 最后输入q,结束命令记录;
用@a 重复执行你刚才记录的命令
4. CTRL+D CTRL+U是翻滚半个屏幕,而CTRL+B CTRL+F是翻滚整个屏幕
5. H 光标移动到屏幕第一行
M 移动到中间一行
L 移动到最后一行
6 vi -R file或者view file,只读打开文件
7 恢复删除:每当你删除一些内容,这些内容被保存在缓冲区。一共有9个这样的缓冲区,最近删除的保存在缓冲区1.
"2p命令就是把缓冲区2的内容粘贴出来,注意,前面有个引号。
8 复制到缓冲区:"dyy 前面有个引号,把当前行复制到d缓冲区; "dp 把缓冲区d的内容粘贴出来
"a7yy 把当前七行复制到缓冲区a。
9 书签: mx 命令 把当前位置命名为书签x,x是任意字母。 'x 是定位到书签x
10 冒号模式下 :/pattern/d 删除匹配的一行
:g/pattern/d 删除匹配的所有行
11 编辑多文件 vi file1 file2
:n 切换文件
12 另一种复制粘贴的办法
:1,5ya a 复制前5行到缓冲区a
:pu a 将缓冲区a的内容粘贴出来
13 替换时确认
:1,$s/old/new/gc
14 命令模式下不会被使用的字符:g K q v V
map的时候考虑这几个字母
15 :set list
文本中的tab会被显示为^I, 结束符会显示为$
16 关于 关键字 自动补全
) CTRL X + CTRL L, 在本文件中寻找匹配的某一行,自动补全
) CTRL X + CTRL N, 在本文件中寻找匹配的某一关键词,自动补全
) CTRL X + CTRL I, 在本文件以及include头文件中寻找匹配的某一关键词,自动补全
) CTRL X + CTRL P, 在本文件寻找匹配的某一关键词,自动补全
) CTRL X + CTRL F, 寻找匹配的某一文件名,自动补全
) CTRL X + CTRL D, 在本文件以及include头文件中寻找匹配的宏定义,自动补全
17 w 是移动到单词首字母,而 e 是移动到单词尾字母 减号是移动到上一行的首部
dG 从光标位置删除到文件尾部,
yG 从光标位置到文件尾部,复制
18 VISUAL模式
v 进入该模式, aw 选择一个单词;
其实在visual模式下,命令模式下的命令仍然是有用的~
////////////////////
VIM手册
1. 快速入门 *:syn-qstart*
*:syn-enable* *:syntax-enable*这个命令打开语法高亮:
:syntax enable
实际上,它只是执行如下命令
:source $VIMRUNTIME/syntax/syntax.vim
如果没有设置 VIM 环境变量,Vim 会试图用其它方法找到该路径 (见 |$VIMRUNTIME|)。
通常总能找到,如果不行,你可以自己设置 VIM 环境变量为存放 Vim 相关文件所在的
目录。例如,如果你的语法文件放在 "/usr/vim/vim50/syntax" 目录,设置
$VIMRUNTIME 为 "/usr/vim/vim50"。启动 Vim 前,你必须在外壳上进行此设置。
*:syn-on* *:syntax-on*
":syntax enable" 命令会保持你当前的色彩设置。这样,不管在使用此命令的前后,你
都可以用 ":highlight" 命令设置你喜欢的颜色。如果你希望 Vim 用缺省值覆盖你自己
的,只要用:
:syntax on
*:hi-normal* *:highlight-normal*
如果你运行在 GUI 环境里,你可以这样得到黑底白字:
:highlight Normal guibg=Black guifg=White
关于色彩终端,见 |:hi-normal-cterm|。
关于设置你自己的语法高亮色彩,见 |syncolor|。
注意: MS-DOS 和 Windows 上的语法文件以
<CR>
<NL>结束每一行。Unix 上则以
<NL>
结尾。这意味着你需要为自己的系统选择合适的文件。不过,在 MS-DOS 和 Windows
上,如果 'fileformats' 选项非空,会自动选择正确的格式。
注意: 使用反转视频时 ("gvim -fg white -bg black"),'background' 的缺省值直到
GUI 窗口打开时才会设置。这发生在 |gvimrc| 的读入之后,从而会使用错误的缺省高
亮。要在打开高亮前设置 'background' 的缺省值,在 |gvimrc| 文件里包含 ":gui" 命
令:
:gui " 打开窗口并设置 'background' 的缺省值
:syntax on " 启动语法高亮,使用 'background' 来设置颜色
注意: 在 |gvimrc| 里使用 ":gui" 意味着 "gvim -f" 不会在前台打开!这时,要使用
":gui -f"。
你可以用这个命令切换语法的打开/关闭
:if exists("syntax_on") | syntax off | else | syntax enable | endif
要把它放到映射里,你可以用:
:map<F7>:if exists("syntax_on") [code]<Bar>
/ syntax off<Bar>
[code] / else<Bar>
[code] / syntax enable<Bar>
[code] / endif<CR>
[使用 |<>| 记法,按本义输入]
细节:
":syntax" 命令是用执行文件脚本实现的。要了解它到底干了什么,察看以下文件:
[code] 命令 文件
:syntax enable $VIMRUNTIME/syntax/syntax.vim
:syntax on $VIMRUNTIME/syntax/syntax.vim
:syntax manual $VIMRUNTIME/syntax/manual.vim
:syntax off $VIMRUNTIME/syntax/nosyntax.vim
另见 |syntax-loading|。
2. 语法文件 *:syn-files*
某个语言的语法和高亮命令通常存在一个语法文件里。命名惯例是: "{name}.vim"。其
中,
{name}是语言的名字或者缩写 (一旦在 DOS 文件系统上,要适用 8.3 字符的名字
限制)。
例如:
c.vim perl.vim java.vim html.vim
cpp.vim sh.vim csh.vim
语法文件可以包含任何 Ex 命令,就像 vimrc 文件那样。但应该只有适用于特定语言的
命令才放在里面。如果该语言是另外一个语言的超集,它可以包含那个语言对应的文件。
例如,cpp.vim 可以包含 c.vim 文件:
:so $VIMRUNTIME/syntax/c.vim
.vim 文件通常使用自动命令载入。例如:
:au Syntax c runtime! syntax/c.vim
:au Syntax cpp runtime! syntax/cpp.vim
这些命令通常出现在 $VIMRUNTIME/syntax/synload.vim 文件里。
如果你有多个文件,可以用文件类型作为目录名。该目录下的所有 "*.vim" 文件都会被
使用。例如:
~/.vim/after/syntax/c/one.vim
~/.vim/after/syntax/c/two.vim
创 立 你 自 己 的 语 法 文 件 *mysyntaxfile*
一旦你创立自己的语法文件,并且需要 Vim 在使用 ":syntax enable" 的时候自动调用
它们的时候,按如下操作进行:
1. 建立自己的用户运行时目录。通常,把它放在 'runtimepath' 选项的第一项。Unix
的例子:
mkdir ~/.vim
2. 在其中建立 "syntax" 目录。Unix 上:
mkdir ~/.vim/syntax
3. 编写 Vim 语法文件。或者从 internet 下载。然后写入你的 syntax 目录。例如,对
于 "mine" 语言的语法:
:w ~/.vim/syntax/mine.vim
现在你可以手动启动语法文件:
:set syntax=mine
这时,你并不需要退出 Vim。
如果你想 Vim 也实现文件类型的检测,见 |new-filetype|。
如果你想为多个用户设立系统,而不希望每个用户增加相同的语法文件的话,可以使用
'runtimepath' 里的其它目录。
添 加 到 已 存 在 的 语 法 文 件 *mysyntaxfile-add*
如果你对已有的语法文件大体满意,只需要增加或者修正一些高亮项目,执行以下步骤即
可:
1. 建立你的 'runtimepath' 里的用户目录,见上。
2. 在那里建立目录 "after/syntax"。Unix 上:
mkdir ~/.vim/after
mkdir ~/.vim/after/syntax
3. 编写 Vim 脚本,包含你希望使用的命令。例如,要在 C 语法里改变颜色:
highlight cComment ctermfg=Green guifg=Green
4. 把该文件写道 "after/syntax" 目录。使用该语法的名字,另加上 ".vim"。对于我们
的 C 语法:
:w ~/.vim/after/syntax/c.vim
这样就行了。下一次你编辑 C 文件时,Comment 色彩就不会一样了。你甚至不需要重启
Vim。
替 换 已 存 在 的 语 法 文 件 *mysyntaxfile-replace*
如果你不喜欢发布的语法文件版本,或者你下载了新版本。可以采用上述的
|mysyntaxfile| 相同的步骤。只要确保你写的语法文件在 'runtimepath' 较早的位置就
可以了。Vim 只会载入第一个找到的语法文件。
命 名 惯 例
*group-name* *{group-name}">
{group-name}* *E669* *W18*
高亮或者语法组的名字必须由 ASCII 字母,数字和下划线组成。如使用正规表达式表示:
"[a-zA-Z0-9_]*"。
要允许每个用户选择他自己喜欢的色彩系列,许多语言应该使用相同的高亮组名。以下是
建议的组名 (如果语法高亮能够正确工作,你应该能看到实际的颜色,除了 "Ignore" 以
外):
*Comment v 任何注释
*Constant v 任何常数
String v 一个字符串常数: "这是一个字符串"
Character v 一个字符常数: 'c'、'/n'
Number v 一个数字常数: 234、0xff
Boolean v 一个布尔型常数: TRUE、false
Float v 一个浮点常数: 2.3e10
*Identifier v 任何变量名
Function v 函数名 (也包括: 类的方法名)
*Statement v 任何语句
Conditional v if、then、else、endif、switch 等
Repeat v for、do、while 等
Label v case、default 等
Operator v "sizeof"、"+"、"*" 等
Keyword v 任何其它关键字
Exception v try、catch、throw
*PreProc v 通用预处理命令
Include v 预处理命令 #include
Define v 预处理命令 #define
Macro v 等同于 Define
PreCondit v 预处理命令 #if、#else、#endif 等
*Type v int、long、char 等
StorageClass v static、register、volatile 等
Structure v struct、union、enum 等
Typedef v 一个 typedef
*Special v 任何特殊符号
SpecialChar v 常数中的特殊字符
Tag v 这里可以使用
CTRL-]
Delimiter v 需要
注意的字符
SpecialComment v 注释里的特殊字符
Debug v 调试语句
*Underlined v 需要突出的文本,HTML 链接
*Ignore v 留空,被隐藏
*Error v 任何有错的构造
*Todo v 任何需要特殊
注意的部分;多是关键字 TODO FIXME 和 XXX
* 标记的名字是主要组,其它是次要组。对主要组而言,"syntax.vim" 文件包含缺省的
高亮设置。次要组则链接到主要组。所以它们拥有相同的高亮设置。不过,你可以通过
":highlight" 命令在 "syntax.vim" 文件之后改变所有组的缺省值。
注意高亮组的名字对大小写不敏感。"String" 和 "string" 可用来表示相同的组。
以下名字是保留字,它们不应用作组名:
NONE ALL ALLBUT contains contained
颜色高亮:
如果没有root权限,请将C.VIM拷贝到~下的.VIM/SYNTAX目录下。
高亮函数名字:
syn match cFun display "[a-zA-Z_][a-zA-Z_0-9]/{-1,}/s/{-0,}(/{1}"ms=s,me=e-1 hi def link cFun Special
高亮合法的标识符:
syntax match cUserword display "/<[a-zA-Z_][a-zA-Z_0-9]*/>[^(]"ms=s,me=e-1 highlight def link cUserword Comment
相关文章推荐
- vim 的宏及一些特定用法的记录
- 记录一些简单的matlab用法
- Vim一些实用的用法
- git初次接触记录简单一些用法
- 记录下, sql server下面语句的一些简单用法
- 一些简单的js用法
- vim的一些实用技巧
- android Scroller简单用法记录
- oracle 数据库一些单行函数的简单用法
- 发邮件 上传图像 JS中的EVENT GRIDVIEW的简单应用 JS中一些寻找控件的用法
- 容器的一些简单用法
- JAVA内部类的一些简单实用说明
- vim 树形目录插件NERDTree安装及简单用法
- 参考网上的一些struts2的action用法,自己写了一个Demo记录一下。
- VIM简单命令记录
- vim应用的一些记录
- python中csv模块的一些简单用法
- 宏和函数的区别以及宏的一些简单用法介绍
- 自配简单实用的vim编程环境
- (分享)自己整理的一些简单awk实用语句