linux学习心得之vim/Cvim篇
linux学习心得之vim/Cvim篇
在linux 下,vim 时一种最常见的编辑器,很多linux的发行版就自带了。我的是CentOS 6.3.
基本上Vim共分为3种模式,分别是一般模式,编辑模式和命令行模式,这三种模式的作用分别如下简述:
- 一般模式:默认模式。打开vim直接进入的是一般模式,在这个模式下,可以进行的操作有:移动光标,复制,粘贴,删除。
- 编辑模式:编辑文件内容,在界面左下方会出现INSERT的字样。
- 命令行模式:查找、读取、保存、替换字符、显示行号、离开vim等等操作。

一:Vim 下的常用命令:
j 向下 k 向上 l 向右 h 向左
:w (小写)保存文件
:wq (小写)保存并退出vim
:w 文件名name 将文件另存为文件名name
:ZZ (大写)保存文件并退出,相当于:wq
:wq! (小写)文件所有者强制保存只读文件,如果不是文件所有者进行此操作,不能成功
:q! 退出不保存文件
复制(yank)
yy或 Y 复制光标所在整行
y^ 复制到光标所在行行首,不包括光标位置字符
y$ 复制到光标所在行行尾,包括光标位置字符
yw 复制一个单词,光标必须在单词首部
yG 复制到文件尾
y1G 复制到文件首
nyy 复制光标所在行开始的n行
粘贴
p (小写)粘贴到光标后
P (大写)粘贴到光标前
删除
x (小写)删除光标前一个字符
X (大写)删除光标后一个字符
dd (小写)删除光标所在整行
dw (小写)删除光标所在处一个单词
dG 删除光标所在整行到文件尾
dgg 删除光标所在整行到文件首
D (大写)删除到行尾,包含光标处的字符
d0 删除到行首,不包含光标处的字符
:n1,n2d 编辑模式下,删除n1-n2行
撤销
u (小写)无限次保存前撤销(大概500多次)
ctrl+r redo重做
查找
/string 相当于find, 从光标处开始向下开始查找字符串string
/查找模式下按n(小写)查找下一个,按N(大写)查找上一个
?string 从光标处开始向上开始查找字符从string
?查找模式下按n(小写)查找上一个,按N(大写)查找下一个
:set nu(mber) 显示行号
:n 指定移动到第n行
多窗口功能:
:r file 读入文件 file 内容,并插在当前行后
:new 新建一栏空白窗口
:split 将当前文件分两栏显示
<C-]> 在 :help 中,遇到超连接可以按 Ctrl+] 跳转
<C-T> 在 :help 中,按 Ctrl+T 往回跳转
块选择: ctrl+v
二:Vim环境设置
在目录 /etc/ 下面,有个名为vimrc的文件,这是系统中公共的vim配置文件,对所有用户都有效。而在每个用户的主目录下,都可以自己建立私有的配置文件,命名 为:“.vimrc”


打开.vimrc,添加以下语句来使得语法高亮显示: syntax on
设置自动缩进 :即每行的缩进值与上一行相等;使用 noautoindent 取消设置:
set autoindent
设置使用 C/C++ 语言的自动缩进方式: set cindent
filetype plugin on是使用插件语句
三:c-support.vim插件
推荐c-support.vim这款插件,可以用来编译c/c++,很不错哦!~
c-support.vim下载地址
http://www.vim.org/scripts/script.php?script_id=213
安装很简单
Copy the zip archive cvim.zip to $HOME/.vim/ (Linux/Unix) or $HOME/vimfiles (Windows) and run unzip cvim.zip
安装到$HOME/.vim/
可以使用命令查看$HOME:

cd ~/.vim
unzip cvim.zip
在/etc/vim/vimrc中添加 filetype plugin on 即可使用该插件。

它的热键说明:
http://lug.fh-swf.de/vim/vim-c/c-hotkeys.pdf
\if 插入一般函数
\im 插入主函数
\cfu 插入函数头,即函数说明
\cfr 插入一个frame comment,可以用来写变量说明
\rc 保存并编译
\rr 运行
\nr 可以在~/.vim/c-support/codesnippets中编写一些预编译代码或者代码块,通过此命令使用
linux学习心得之vim/Cvim篇的更多相关文章
- Linux学习心得之 Linux下命令行Android开发环境的搭建
作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Linux学习心得之 Linux下命令行Android开发环境的搭建 1. 前言2. Jav ...
- Linux学习心得之 Linux下ant安装与使用
作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Linux学习心得之 Linux下ant安装与使用 1. 前言2. ant安装3. 简单的a ...
- Linux学习心得之 双显卡、中文输入法及svn初步使用
作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Linux学习心得之 双显卡.中文输入法及svn初步使用 1.前言 2.Linux双显卡解决 ...
- linux学习心得之目录树开端与/etc(图文)
linux学习心得之目录树开端与/etc(图文) linux中“一切皆文件”,学习linux一年了,在学习过程中对目录树的一点心得,分享给大家,有不对的地方敬请斧正. 不多说了,先上图: 根目录: / ...
- linux学习:【第3篇】远程连接及软件安装
狂神声明 : 文章均为自己的学习笔记 , 转载一定注明出处 ; 编辑不易 , 防君子不防小人~共勉 ! linux学习:[第3篇]远程连接及软件安装 远程连接 xshell , xftp软件官网 : ...
- linux学习:【第2篇】常用命令
狂神声明 : 文章均为自己的学习笔记 , 转载一定注明出处 ; 编辑不易 , 防君子不防小人~共勉 ! linux学习:[第2篇]常用命令 基本命令 //打开终端: CentOS:在任何地方,右键-- ...
- linux学习:【第1篇】初识Linux及安装
狂神声明 : 文章均为自己的学习笔记 , 转载一定注明出处 ; 编辑不易 , 防君子不防小人~共勉 ! linux学习:[第1篇]初识Linux及安装 写在前面 学习之初看了一段文章,很有感触,所以也 ...
- Linux学习心得之 LVM管理与Linux系统安装
作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 LVM管理与Linux系统安装 1.前言 2.LVM 简介与术语 3.LVM 使用 4.Li ...
- Linux学习心得之 linux命令
作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 前言 本篇博客是对 每日一linux命令(http://www.cnblogs.com/pe ...
随机推荐
- 转载Worktile 技术架构概要
Worktile 技术架构概要 其实早就该写这篇博客了,一直说忙于工作没有时间,其实时间挤挤总会有的,可能就是因为懒吧!从2013年11月一直拖到现在,今天就简单谈谈 Worktile 的技术架构吧 ...
- android屏蔽home键的实现
Android中,网上很多屏蔽Home键都智能在4.0以下运行,在4.0以及以上运行直接崩溃. 需要这样更改(来源:http://androidmaster.iteye.com/): @Overrid ...
- vb.net窗口继承(房重建知识汇总)
在项目的开发,我们经常会遇到特殊的相界面似窗户,然后,我们将能够使用继承的窗口.透过窗户下面简单的例子来实现继承. 1.创建父窗口Form1 2.把须要重写的事件改为Overridable,将priv ...
- 通讯录C++console application
#include<iostream> #include<fstream> #include<string> #include<cstring> #inc ...
- AngularJS之使用服务封装
AngularJS之使用服务封装可复用代码 创建服务组件 在AngularJS中创建一个服务组件很简单,只需要定义一个具有$get方法的构造函数, 然后使用模块的provider方法进行登记: / ...
- 使用flex和bison实现的sql引擎解析
因为老师要求,近期在做oceanbase存储过程的实现,在oceanbase 0.4曾经是不支持存储过程的.实现的主要步骤主要包含 1.语法解析 2.词法解析 3.详细运行语法树的步骤 如今先来说说语 ...
- MySQL引擎介绍ISAM,MyISAM,HEAP,InnoDB
MySQL数据库引擎取决于MySQL在安装的时候是如何被编译的.要添加一个新的引擎,就必须重新编译MYSQL. 在缺省情况下,MYSQL支持三个引擎:ISAM.MYISAM和HEAP.另外两种类型IN ...
- 编程算法 - 二叉树的深度 代码(C)
二叉树的深度 代码(C) 本文地址: http://blog.csdn.net/caroline_wendy 题目: 输入一棵二叉树的根节点, 求该树的深度. 依次选择最深的左右子树, 然后递归加1. ...
- 进击的Android注入术《二》
继续 在<一>里,我把基本思路描写叙述了一遍,接下为我们先从注入開始入手. 注入 分类 我们平时所说的代码注入,主要静态和动态两种方式 静态注入,针对是可运行文件,比方平时我们改动ELF, ...
- JSON解析之Gson
1.Gson简介 Gson是一个将Java对象转为JSON表示的开源类库,由Google提供,并且也可以讲JSON字符串转为对应的Java对象.虽然有一些其他的开源项目也支持将Java对象转为JSON ...