vim 编辑基础使用-----linux编程
Linux系统编程:
VIM编辑器 | VIM Introduce
- 学习 vim 并且其会成为你最后一个使用的文本编辑器。没有比这个更好的文本编辑器了,非常地难学,但是却不可思议地好用。
- 我建议下面这四个步骤:1.存活;2.感觉良好;3.觉得更好,更强,更快;4.使用VIM的超能力。
- vim的学习曲线相当的大,所以,如果你一开始看到的是一大堆VIM的命令分类,你一定会对这个编辑器失去兴趣的。
- vi(vim)是上Linux非常常用的编辑器,很多Linux发行版都默认安装了vi(vim)。vi(vim)命令繁多但是如果使用灵活之后将会大大提高效率。vi是“visual interface”的缩写,vim是vi IMproved(增强版的vi)。
VIM/VI基本命令 | VIM Learning
|
分类 |
命令 |
|
一、打开文件、保存、关闭文件 |
vim filename //打开filename文件 |
|
:w //保存文件 |
|
|
:w atool.org //保存至atool.org文件 |
|
|
:q //退出编辑器,如果文件已修改请使用下面的命令 |
|
|
:q! //退出编辑器,且不保存 |
|
|
:wq //退出编辑器,且保存文件 |
|
|
二、插入文本或行(按ESC键可退出插入模式) |
a //在当前光标位置的右边添加文本 |
|
i //在当前光标位置的左边添加文本 |
|
|
A //在当前行的末尾位置添加文本 |
|
|
I //在当前行的开始处添加文本(非空字符的行首) |
|
|
O //在当前行的上面新建一行 |
|
|
o //在当前行的下面新建一行 |
|
|
R //替换(覆盖)当前光标位置及后面的若干文本 |
|
|
J //合并光标所在行及下一行为一行(依然在命令模式) |
|
|
三、移动光标 |
使用上下左右方向键 |
|
命令模式下:h 向左、j 向下 、k 向上、l 向右。 |
|
|
空格键 向右、Backspace 向左、Enter 移动到下一行首、- 移动到上一行首。 |
|
|
四、删除、恢复字符或行 |
x //删除当前字符 |
|
nx //删除从光标开始的n个字符 |
|
|
dd //删除当前行 |
|
|
ndd //向下删除当前行在内的n行 |
|
|
u //撤销上一步操作 |
|
|
U //撤销对当前行的所有操作 |
|
|
五、搜索 |
/atool //向光标下搜索atool字符串 |
|
?atool //向光标上搜索atool字符串 |
|
|
n //向下搜索前一个搜素动作 |
|
|
N //向上搜索前一个搜索动作 |
|
|
六、跳至指定行 |
n+ //向下跳n行 |
|
n- //向上跳n行 |
|
|
nG //跳到行号为n的行 |
|
|
G //跳至文件的底部 |
|
|
七、设置行号 |
:set nu //显示行号 |
|
:set nonu //取消显示行号 |
|
|
八、复制、粘贴 |
yy //将当前行复制到缓存区,也可以用 "ayy 复制,"a 为缓冲区,a也可以替换为a到z的任意字母,可以完成多个复制任务。 |
|
nyy //将当前行向下n行复制到缓冲区,也可以用 "anyy 复制,"a 为缓冲区,a也可以替换为a到z的任意字母,可以完成多个复制任务。 |
|
|
yw //复制从光标开始到词尾的字符。 |
|
|
nyw //复制从光标开始的n个单词。 |
|
|
y^ //复制从光标到行首的内容。 |
|
|
y$ //复制从光标到行尾的内容。 |
|
|
p //粘贴剪切板里的内容在光标后,如果使用了前面的自定义缓冲区,建议使用"ap 进行粘贴。 |
|
|
P //粘贴剪切板里的内容在光标前,如果使用了前面的自定义缓冲区,建议使用"aP 进行粘贴。 |
|
|
九、替换 |
:s/old/new //用new替换行中首次出现的old |
|
:s/old/new/g //用new替换行中所有的old |
|
|
:n,m s/old/new/g //用new替换从n到m行里所有的old |
|
|
:%s/old/new/g //用new替换当前文件里所有的old |
|
|
十、编辑其他文件 |
:e otherfilename //编辑文件名为otherfilename的文件。 |
|
十一、修改文件格式 |
set fileformat=unix //将文件修改为unix格式,如win下面的文本文件在linux下 |
vim 编辑基础使用-----linux编程的更多相关文章
- 快速学习C语言三: 开发环境, VIM配置, TCP基础,Linux开发基础,Socket开发基础
上次学了一些C开发相关的工具,这次再配置一下VIM,让开发过程更爽一些. 另外再学一些linux下网络开发的基础,好多人学C也是为了做网络开发. 开发环境 首先得有个Linux环境,有时候家里机器是W ...
- Linux基础与Linux下C语言编程基础
Linux基础 1 Linux命令 如果使用GUI,Linux和Windows没有什么区别.Linux学习应用的一个特点是通过命令行进行使用. 登录Linux后,我们就可以在#或$符后面去输入命令,有 ...
- 【转】Linux基础与Linux下C语言编程基础
原文:https://www.cnblogs.com/huyufeng/p/4841232.html ------------------------------------------------- ...
- linux编程vim设置
linux环境下c网络编程vim编辑工具设置,包括自动缩进,tab键对齐等.
- Linux下使用vim编辑C程序
这几天在系统能力班自学linux,加上最近大数据课上开始使用linux,我在这里总结一下,linux下使用vim编辑c程序的一些问题. 大数据课上是直接使用micro来编辑的,我这里只是简单的说明一下 ...
- linux编程基础汇总贴
linux编程基础汇总贴http://newzol.cn/forum.php?mod=viewthread&tid=67&fromuid=3(出处: newzol) 1.管道 http ...
- linux文件管理 -> vim编辑总结
vi和vim命令是linux中强大的文本编辑器, 由于Linux系统一切皆文件,而配置一个服务就是在修改其配置文件的参数.vim编辑器是运维工程师必须掌握的一个工具, 没有它很多工作都无法完成.vim ...
- linux下vi与vim区别以及vim的使用-------vim编辑时脚本高光显示语法
vi与vimvi编辑器是所有Unix及Linux系统下标准的编辑器,他就相当于windows系统中的记事本一样,它的强大不逊色于任何最新的文本编辑器.他是我们使用Linux系统不能缺少的工具.由于对U ...
- Linux系统的文件复制移动删除与VIM编辑
目录 今日内容概要 内容详细 复制文件 移动文件 删除文件 系统别名(针对 rm 改别名) vim编辑器 今日内容概要 复制文件 移动文件 删除文件 vim编辑器 内容详细 复制文件 # 命令: cp ...
随机推荐
- 自然语言交流系统 phxnet团队 创新实训 个人博客 (十)
下载emacs-23.1.tar.gz http://ftp.gnu.org/pub/gnu/emacs/emacs-23.1.tar.gz cd /opt //cp emacs-23.1.ta ...
- Java中static、final、static final的区别(转)+transient
说明:不一定准确,但是最快理解. final: final可以修饰:属性,方法,类,局部变量(方法中的变量) final修饰的属性的初始化可以在编译期,也可以在运行期,初始化后不能被改变. final ...
- Linux Shell nohup命令用法
linux的nohup命令的用法. 在应用Unix/Linux时,我们一般想让某个程序在后台运行,于是我们将常会用 & 在程序结尾来让程序自动运行.比如我们要运行mysql在后台: /us ...
- 【设计和开发一套简单自己主动化UI框架】
!有兴趣的朋友请直接移步Github,本帖子已经不做更新,框架的详细的实现已经做了优化和代码整理,本文仅仅介绍了详细的设计思路! 目标:编写一个简单通用UI框架用于管理页面和完毕导航跳转 终于的实现效 ...
- VMware克隆虚拟机后无法启动网卡
最简单的办法: 修改这个文件:/etc/udev/rules.d/70_persistent-net.rules 把eth1修改为eth0,记下里面的mac地址 修改/etc/sysconfig/ne ...
- FastFel解析一个公式的步骤
FastFel 查看源码后,理解的运算步骤: 1) 创建一个 FelEngine,FelEngine fel = new FelEngineIml(); 2) 将表达式 exp 解析成为一个节点树 F ...
- [Php] Deprecated: Function ereg_replace() is deprecated
From: http://www.zxyf.net/n6805c18.shtml 这个问题是因为你用的php版本过高. 在php5.3中,正则函数ereg_replace已经废弃,而dedecms还继 ...
- OSG 坑爹的Android example
本人3D编程方面超级菜鸟,因为项目需要,接触了一些Open Scene Graph(OSG)引擎的相关编程工作.首先我得承认,OSG这个引擎超级牛,无论是渲染效果和效率,都没的说,很棒.但是,OSG提 ...
- 12 go实现几中基本排序算法
include 冒泡排序 插入排序 快速排序 选择排序 这4种算法的内涵不再做解释了 github地址 冒泡排序算法 func maoPao(intSlice []int) []int { /* 冒泡 ...
- 对转换公式为LaTeX代码要注意什么
mathtype是一款专业的数学公式编辑工具,理科生专用的工具.mathtype公式编辑器能够帮助用户在各种文档中插入复杂的数学公式和符号.可以轻松的将数学公式转换成LaTex代码,但是转换LaTeX ...