关于vim的一些使用以及Dos文件到Linux、Mac下问题
2013-11-04 08:58
826 查看
Linux编写程序用的比较广泛的还是vim,下面对其快捷操作做一总结。
1、将光标移动到文件的开始位置或结束位置:
1.2 vim中进行C和C++源码对齐操作:
1.3 vim中删除字符,并进入插入模式,修改为想要的字符串:
将所有的data替换为bash,方法为: (首先用ESC进入命令行模式)
重复上面的操作,这样就可以完成将所有的data替换为bash。
1.4 vim中进行变量名,函数名和字符串补全操作:
在linux下编写c语言程序,命名规范要求变量名,函数名是用“_”将单词分隔开的。 比如:int value_name = 5; 采用这种方法的好处在于vim进行匹配时,比较方便,在vim中使用ctrl+n或ctrl+p进行匹配,当输入value_使用ctrl+n或者ctrl+p能够将后面的部分自动匹配。
2、vim中“上 下 左 右”移动光标:
3、vim复制:
4、vim粘贴:
5、vim删除:
字符及字符串的删除:
行及多行,块的删除:
6、vim撤销:
vim中的撤销有两种,一种是向左撤销,一种是向右撤销:比如我们刚删除了一行,想恢复,使用u就可以,恢复后又想删除,使用ctrl+r就可以。
7、vim查找:
查找第几行,在命令行中输入:number+enter就可以将光标移动到指定的行。
查找某个字符串,在命令行中输入:/string,光标就移动到第一个出现string的行,当输入n,光标将移动到下一处出现string的行,再输入n,将继续向下找,当找到最后一个string所出现的行,再输出n时,就回到第一次出现string的行。(/string查找指定字符串,n从开始向结束,即向下。N从结束向开始,即向上)当在命令行输入:/string时,光标将移动到最后一个出现string的行,当输入N,光标将移动到最后一次出现string的行,继续输入N,将继续向上一次出现string的行移动。
8、vim进入头文件,从头文件中返回:
9、查看与当前符号匹配的另外一半符号 // "" 或者''或者()或者[ ]或者{}等匹配出现的符号。
在vim中使用%可以匹配另外一半符号出现的位置。
void fun(int argc,char *argv){
//代码
}
当我们将光标放在第一个大括号哪里,想找到另外一个与之匹配的大括号时,使用%。就可以了。
Vim打开有些文件时候,会出现文件末尾会出现^M,这是为何?
查阅资料知道是如下的原因:
vim被配置为fileformat=unix,而你打开的文件都是dos格式的。
unix格式的换行符为0A(ascii码)也就是<LF>,
dos格式的换行符为 0D 0A(也就是<CR><LF>),<CR>其实就显示为^M。
DOS, Mac 和Unix格式的文件。
回想计算机的history,那时的打字机使用两个字符来开始一个新行。
首先是一个字符命令使打印头移回开始位置(回车,<CR>),然后另一个字符命令控制向前进纸一行(进纸,<LF>)。
在计算机诞生之初,存储设备十分昂贵。于是有人就提出没有必要用两个字符来表示一行的结束。UNIX一族决定只用进纸一个字符LF(<LineFeed>)来表示行尾。
苹果阵营的人则把回车<CR>作为换行的标准。
MS-DOS(和微软的Windows)仍然决定沿用古老的回车换行<CR><LF>传统。
这也意味着如果把文件从一个系统移到另一个不同的系统,你就会遇到与换行相关的问题。
Vim编辑器则可以识别这些不同格式的文件。
你可以在'fileformats'选项里指定你希望Vim能自动识别的格式的集合。
文本中既有unix的换行符,又有dos的换行符,那么vim会认为你打开的是unix的,所以,那些dos的换行符就会出现恼人的^M。
如何去除^M?
途径1:打开/etc/vimrc文件,添加如下的语句,一般都可以搞定。
途径2:打开dos格式文件,进入命令行格式。这里需要注意的是,输入^M时候,需要用 Ctrl + V Ctrl + M 来输入。用下面的命令来实现去除用 ^M。
1、将光标移动到文件的开始位置或结束位置:
gg 将光标移动到文件的开始位置。 G 将光标移动到文件的最后一行。 对当前行做标记,例如ma,即标记当前行为a行,mb,即标记当前行为b行,mc,即...等等,要回到a行使用'a。要回到b行使用'b。 gd vim中快速定位到当前光标所在变量或函数处:
1.2 vim中进行C和C++源码对齐操作:
gg+=+G //先gg跳转到文件开始位置,再输入=,再输入G,vim将自动进行C和C++源 码的对齐操作。
1.3 vim中删除字符,并进入插入模式,修改为想要的字符串:
/char cw 使用/char,找到字符char,然后cw,就删除了,然后修改为想要的字符串。 然后n,进入下一个字符,然后"."就可以重复上面的操作。 cnw 是删除n个字符,并进入插入模式。
将所有的data替换为bash,方法为: (首先用ESC进入命令行模式)
/data 找到data cw 删除data,并进入插入模式。 bash 输入bash n 找到下一个bash
重复上面的操作,这样就可以完成将所有的data替换为bash。
1.4 vim中进行变量名,函数名和字符串补全操作:
在linux下编写c语言程序,命名规范要求变量名,函数名是用“_”将单词分隔开的。 比如:int value_name = 5; 采用这种方法的好处在于vim进行匹配时,比较方便,在vim中使用ctrl+n或ctrl+p进行匹配,当输入value_使用ctrl+n或者ctrl+p能够将后面的部分自动匹配。
2、vim中“上 下 左 右”移动光标:
h 将光标向左移动。 l 将光标向右移动。 j 将光标向下移动。 k 将光标向上移动。
3、vim复制:
复制字符串:ctrl+v配合“上下左右”键,选中字符串,使用y进行复制。 复制n个单词:y+number+w 复制一行:yy 复制n行:nyy
4、vim粘贴:
在vim中使用p 或 P进行粘贴。
5、vim删除:
字符及字符串的删除:
删除一个字符,使用x。 删除多个字符,使用ctrl+v进入可视模式,然后移动键盘上的“上下左右”键,将要删除的字符串选中,然后使用d就删除了。
行及多行,块的删除:
删除一行,使用dd; 删除n行,使用ndd; 删除不知道多少行,首先使用ctrl+v进入可视模式,然后移动键盘上的“上下左右”键,将要删除的行选中,然后使用d就删除了。
6、vim撤销:
vim中的撤销有两种,一种是向左撤销,一种是向右撤销:比如我们刚删除了一行,想恢复,使用u就可以,恢复后又想删除,使用ctrl+r就可以。
7、vim查找:
查找第几行,在命令行中输入:number+enter就可以将光标移动到指定的行。
查找某个字符串,在命令行中输入:/string,光标就移动到第一个出现string的行,当输入n,光标将移动到下一处出现string的行,再输入n,将继续向下找,当找到最后一个string所出现的行,再输出n时,就回到第一次出现string的行。(/string查找指定字符串,n从开始向结束,即向下。N从结束向开始,即向上)当在命令行输入:/string时,光标将移动到最后一个出现string的行,当输入N,光标将移动到最后一次出现string的行,继续输入N,将继续向上一次出现string的行移动。
8、vim进入头文件,从头文件中返回:
进入头文件:将光标移动到指定的头文件中,在命令行中键入gf 就进入指定的头文件中。 返回原文件:当对头文件编辑结束后,键入ctrl+o就返回到原文件中。
9、查看与当前符号匹配的另外一半符号 // "" 或者''或者()或者[ ]或者{}等匹配出现的符号。
在vim中使用%可以匹配另外一半符号出现的位置。
void fun(int argc,char *argv){
//代码
}
当我们将光标放在第一个大括号哪里,想找到另外一个与之匹配的大括号时,使用%。就可以了。
Vim打开有些文件时候,会出现文件末尾会出现^M,这是为何?
查阅资料知道是如下的原因:
vim被配置为fileformat=unix,而你打开的文件都是dos格式的。
unix格式的换行符为0A(ascii码)也就是<LF>,
dos格式的换行符为 0D 0A(也就是<CR><LF>),<CR>其实就显示为^M。
DOS, Mac 和Unix格式的文件。
回想计算机的history,那时的打字机使用两个字符来开始一个新行。
首先是一个字符命令使打印头移回开始位置(回车,<CR>),然后另一个字符命令控制向前进纸一行(进纸,<LF>)。
在计算机诞生之初,存储设备十分昂贵。于是有人就提出没有必要用两个字符来表示一行的结束。UNIX一族决定只用进纸一个字符LF(<LineFeed>)来表示行尾。
苹果阵营的人则把回车<CR>作为换行的标准。
MS-DOS(和微软的Windows)仍然决定沿用古老的回车换行<CR><LF>传统。
这也意味着如果把文件从一个系统移到另一个不同的系统,你就会遇到与换行相关的问题。
Vim编辑器则可以识别这些不同格式的文件。
你可以在'fileformats'选项里指定你希望Vim能自动识别的格式的集合。
文本中既有unix的换行符,又有dos的换行符,那么vim会认为你打开的是unix的,所以,那些dos的换行符就会出现恼人的^M。
如何去除^M?
途径1:打开/etc/vimrc文件,添加如下的语句,一般都可以搞定。
set fileformats=unix,dos
途径2:打开dos格式文件,进入命令行格式。这里需要注意的是,输入^M时候,需要用 Ctrl + V Ctrl + M 来输入。用下面的命令来实现去除用 ^M。
:%s/^M$//g途径3:.回车,会自动删除该文件中的所有 ^M 字符。
相关文章推荐
- Linux下C语言的调试--转
- Mosix:强大的集群Linux方案
- 基于Linux的集群系统的文件系统介绍
- Linux进程间通信方式之管道(pipe)
- linux磁盘分区fdisk命令详解
- centos关机与重启命令详解
- linux 内核配置 make menuconfig
- Linux系统下/tmp目录文件重启后自动删除
- Linux的内存布局
- CentOS 6.4 ibus输入法图标消失
- linux学习之nfs
- CentOS 6.4 图文安装教程
- Linux的gdb和Unix的dbx调试工具
- Linux编译升级php的详细方法
- centos mysql 修改数据库目录
- centos5.5 内核升级
- CentOS 5 上安装git
- The Packaging Process in Yocto/OE
- linux下文件同步神器——rsync
- CentOS6.4下使用默认的PDF文档阅读器出现乱码的解决方案