Linux系统编程:

VIM编辑器 | VIM Introduce

  1. 学习 vim 并且其会成为你最后一个使用的文本编辑器。没有比这个更好的文本编辑器了,非常地难学,但是却不可思议地好用。
    1. 我建议下面这四个步骤:1.存活;2.感觉良好;3.觉得更好,更强,更快;4.使用VIM的超能力。
    2. vim的学习曲线相当的大,所以,如果你一开始看到的是一大堆VIM的命令分类,你一定会对这个编辑器失去兴趣的。
    3. 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编程的更多相关文章

  1. 快速学习C语言三: 开发环境, VIM配置, TCP基础,Linux开发基础,Socket开发基础

    上次学了一些C开发相关的工具,这次再配置一下VIM,让开发过程更爽一些. 另外再学一些linux下网络开发的基础,好多人学C也是为了做网络开发. 开发环境 首先得有个Linux环境,有时候家里机器是W ...

  2. Linux基础与Linux下C语言编程基础

    Linux基础 1 Linux命令 如果使用GUI,Linux和Windows没有什么区别.Linux学习应用的一个特点是通过命令行进行使用. 登录Linux后,我们就可以在#或$符后面去输入命令,有 ...

  3. 【转】Linux基础与Linux下C语言编程基础

    原文:https://www.cnblogs.com/huyufeng/p/4841232.html ------------------------------------------------- ...

  4. linux编程vim设置

    linux环境下c网络编程vim编辑工具设置,包括自动缩进,tab键对齐等.

  5. Linux下使用vim编辑C程序

    这几天在系统能力班自学linux,加上最近大数据课上开始使用linux,我在这里总结一下,linux下使用vim编辑c程序的一些问题. 大数据课上是直接使用micro来编辑的,我这里只是简单的说明一下 ...

  6. linux编程基础汇总贴

    linux编程基础汇总贴http://newzol.cn/forum.php?mod=viewthread&tid=67&fromuid=3(出处: newzol) 1.管道 http ...

  7. linux文件管理 -> vim编辑总结

    vi和vim命令是linux中强大的文本编辑器, 由于Linux系统一切皆文件,而配置一个服务就是在修改其配置文件的参数.vim编辑器是运维工程师必须掌握的一个工具, 没有它很多工作都无法完成.vim ...

  8. linux下vi与vim区别以及vim的使用-------vim编辑时脚本高光显示语法

    vi与vimvi编辑器是所有Unix及Linux系统下标准的编辑器,他就相当于windows系统中的记事本一样,它的强大不逊色于任何最新的文本编辑器.他是我们使用Linux系统不能缺少的工具.由于对U ...

  9. Linux系统的文件复制移动删除与VIM编辑

    目录 今日内容概要 内容详细 复制文件 移动文件 删除文件 系统别名(针对 rm 改别名) vim编辑器 今日内容概要 复制文件 移动文件 删除文件 vim编辑器 内容详细 复制文件 # 命令: cp ...

随机推荐

  1. How Vmware snapshots works

    VMware中的快照是对VMDK在某个时间点的“拷贝”,这个“拷贝”并不是对VMDK文件的复制,而是保持磁盘文件和系统内存在该时间点的状态,以便在出现故障后虚拟机能够恢复到该时间点.如果对某个虚拟机创 ...

  2. 关于Unity中网格导航与寻路

    寻路思路 1.烘焙出地形数据,导航数据,区分哪些是路径,哪些是障碍物 2.给要寻路的角色添加寻路的组件,加好了以后就会有速度和目的地之类的参数设置 3.只要设置好目的地,角色就会根据烘焙好的地图自己走 ...

  3. Git 初始化项目、创建合并分支、回滚等常用方法总结

    就在刚才查看资料时候, 看见一句话, 写的特别好: 当我的才华撑不起我的梦想的时候, 应该安静下来学习 配上我最喜欢动漫的一个角色: 红莲 1. Git 初始化项目 1). 创建新的知识库 echo ...

  4. 嵌入式开发之zynq驱动—— zynq ps pl ddr 内存地址空间映射

    http://www.wiki.xilinx.com/Zynq-7000+AP+SoC+-+32+Bit+DDR+Access+with+ECC+Tech+Tip http://patchwork.o ...

  5. LeetCode224——Basic Calculator

    Implement a basic calculator to evaluate a simple expression string. The expression string may conta ...

  6. Linux环境安装MySQL数据库(RPM格式的软件包)

    1.  下载mysql安装包 下载地址1:  http://www.mysql.com/   (mysql官网) 下载地址2:  http://mirrors.sohu.com/mysql/   (其 ...

  7. JSON数组,JSON对象,数组的区别与基本操作整理

    JSON 语法规则 JSON 语法是 javascript 对象表示语法的子集. 数据在名称/值对中 数据由逗号分隔 花括号保存对象 方括号保存数组 JSON 名称/值对 JSON 数据的书写格式是: ...

  8. 关于js中namespace命名空间模式

    命名空间有助于减少程序中所需要的全局变量的数量,并且同时有助于避免命名冲突或过长的名字前缀. 关于命名空间的例子: /** * 创建全局对象MYAPP * @module MYAPP * @title ...

  9. SOA及分布式

    结合领域驱动设计的SOA分布式软件架构 Windows平台分布式架构实践 - 负载均衡(下) 分享一个分布式消息总线,基于.NET Socket Tcp的发布-订阅框架,附代码下载 我终于深入参与了一 ...

  10. 【WP8】关于类库本地化问题

    WPToolkit中的ToggleSwitch开关控件是比较常用的控件,之前在做的的时候遇到一个问题,默认语言改为中文,手机系统语言也为中文,但是开关状态无法应用本地化的语言库,开关状态总是显示On/ ...