- GVIM 添加多行注释:v 进入可视模式,shift+方向键 选择注释行 ,ctrl+q 标记航头,I在行头插入,输入插入内同(如//),ESC。
- VIM
:sp <filename>
打开一个文件,并和当前打开的文件分屏显示。Ctrl+W+W
在分屏显示中的不同文件中切换。*
向前搜索目前光标所在的单词。#
向后搜索目前光标所在的单词。:%s/word1/word2/g
全文搜索word1并以word2替换之。:’a,’bs/word1/word2/g
仅在第a行到第b行间搜索并替换。 - vim中格式化代码
格式化全文: gg=G
自动缩进当前行: =
You can format/indent an entire file using the gg=G command, where
gg - Goto the beginning of the file
= - apply indentation
G - till end of file
For more information, read
:help gg
:help =
:help G
:help 'formatprg'
:help C-indenting
在.vimrc中添加以下代码后,重启vim即可实现按TAB产生4个空格:
set expandtab
:set ts=4
:set expandtab
:%retab!
:set ts=4
:set noexpandtab
:%retab!
Linux编辑器vim中删除行尾的^M
有时候,在 Linux 中使用打开曾在 Windows 中编辑过的文件时,会在行尾看到 ^M 字符。看起来总是感觉很别扭。
删除方法如下:
在 Vim 的命令模式中输入 :%s/^M$//g 后,回车即会自动删除该文件中的所有 ^M 字符。
注意: ^M 要用 Ctrl + v, Ctrl + m 来输入, 用键盘直接敲^和M是不行的! 后面的 $ 代表匹配行尾的内容,最后的 g 则表示每行中匹配到的内容都要置换--全局替换,否则只替换每行中匹配到的第一个。
又脚本删除方法:
cat file | col -b > file.1 // 这个可以去掉,但是生成文件里汉字变乱码
sed -e 's/.$//g' file // 正确
sed ‘s/^M//' file // 正确,但是 ^M = Ctrl + v, Ctrl + m
附录:^M 另一个会出现的情况是文件在 windows 和 Linux 系统间通过 Ftp 传送。这是建议方法是:强行设定 ftp 方式为 ascii 方式就可以了啊! 当然也可以通过软件 dos2unix 搞定。
ctrl+a: number+1
ctrl+x: number-1