【Linux】Vim编辑器
本文基于Debian
1.vim使用简介
1.1vim安装
使用apt安装vim即可:
sudo apt-get install vim
1.2 vim编辑器的模式
vim编辑器分为命令模式和编辑模式。
命令模式:打开vim默认进入命令模式,在命令模式下键盘上的单个按键便表示一个命令,例如移动光标的命令:h、i、j、k。在编辑模式下按【Esc】返回到命令模式。
编辑模式:在命令模式下,按下【i】键进入编辑模式,此时可以像word一样编辑文件的内容。
2. vim建立文件
新建文件: vim 文件名。例如,要建立一个hello.c文件的命令为:
vim hello.c
输入文本:上面命令完成后便进入命令模式,按【i】键进入编辑模式,输入文本:
#include <stdio.h> int main(void)
{
printf("Hello World !\n");
return ;
}
退出:编辑好文本后,按Esc回到命令模式,输入":wq"保存并退出。
3.vim命令模式下的常用命令
移动光标:h j k l
h: 左
j: 下
k: 上
l: 右
删除字符:x dd u Ctrl+R
删除一个字符:x
删除一行字符:dd
恢复删除:u
取消命令:Ctrl+R
复制粘贴:p y
粘贴:p
复制:y
查找字符串:/
在当前文本中查找字符串 hello:“:/hello”
跳到某一行:G 或 :n
命令“:n”可以让光标跳转到低n行;或者“nG”跳到第n行.注意G必须大写.
这在修改程序或调试程序的错误行时比较有用。
vim学习文档:在bash中输入vimtutor便可进入。
4.vim的格式设置
设置Tab的空格数量:":set tabstop=n"
例如:设置Tab键的宽度为2个空格:“:set tabstop=2”
设置行号:“:set number”
5.vim 的配置文件 vimrc
在/etc/vim/下面有vim的配置文件vimrc。可以对vim进行设置,再次启动vim时生效。
例如:在文件末尾添加:
set tabstop= set number
【Linux】Vim编辑器的更多相关文章
- Linux vim编辑器使用详解
在Linux中,主要编辑器为vi或者vim,本文围绕vim做简单的讲解说明: Linux默认自带vi(vim)编辑器,其程序包为: [root@xuegod163 ~]# rpm -qf `--1.8 ...
- Linux Vim编辑器使用简单讲解
在Linux中,主要编辑器为vi或者vim,本文围绕vim做简单的讲解说明:Linux默认自带vi(vim)编辑器,其程序包为:[root@linuxidc.com ~]# rpm -qf `whic ...
- 4.linux vim 编辑器的基本操作
一.vim编辑器基本操作 1.vim 编辑器 : 三种工作模式 命令模式 a.i.o ...
- Linux vim编辑器
1.工作模式 命令模式(a,i,o等键)——>输入模式 输入模式(Esc键)——>命令模式 命令模式(:键)——>末行模式 末行模式(Esc键)——>命令模式 2.vim使用命 ...
- Linux - vim 编辑器
gconf-editor # 配置编辑器 /etc/vimrc # 配置文件路径 vim +24 file # 打开文件定位到指定行 vim file1 file2 # 打开多个文件 vim -O2 ...
- Linux vim编辑器常用命令
Vim是一个类似于Vi的著名的功能强大.高度可定制的文本编辑器 常用的vim命令如下图 补充: num+命令 对命令执行num次,如 5dd:剪切一行 * 5 即剪切5行,其它如此 /text ...
- linux VIM编辑器常用指令
一般模式 查看文本-移动光标 [Ctrl] + [f] 屏幕『向前』移动一页 [Ctrl] + [b] 屏幕『向后』移动一页 n<space> 按下数字后再按空格键,光标会向右移动这一 ...
- Linux.vim编辑器显示行号
显示行号 :set number 取消显示行号:set nonumber
- linux vim编辑器使用
小i 在光标所在行位置停止不动开始写入内容 大I 在光标所在行行首开始写入内容 小a 在光标所在行当前字符后开始写入内容 大A 在光标所在行行尾开始写入内容 小o 在光标所在行下一行开始写入内容 大O ...
- linux下vim编辑器查找 关键字
在 linux vim 编辑器 下查找 关键字 方法[一] 1?short_open_tag : 它的意思是vim 打开文件的第一行 ? : 它的意思是反向查找 short_open_tag ...
随机推荐
- [js方法pk]之instanceof() vs isPrototypeOf() hasOwnProperty() vs propertyIsEnumerable()
这几个方法在js的高级编程中经常用到,对于新手来说可能还不知道他们有什么区别,我把我的体会总结下来,供大家参考: 首先,定义一个对象: function Parent() {this.name = & ...
- Sping实战之通过JAVA代码装配Bean
尽管在很多场景下通过组件扫描和自动装配实现Spring的自动化配置是更为推荐的方式,但有时候自动化配置的方案行不通,因此需要明确配置Spring.比如说,你想要将第三方库中的组件装配到你的应用中,在这 ...
- C# 泛型编程之泛型类、泛型方法、泛型约束
来自Hauk的文章 C# 泛型编程之泛型类.泛型方法.泛型约束 所谓泛型,即通过参数化类型来实现在同一份代码上操作多种数据类型. 泛型编程是一种编程范式,它利用“参数化类型”将类型抽象化,从而实现更为 ...
- leetcode706
class MyHashMap { public: vector<int> hashMap; /** Initialize your data structure here. */ MyH ...
- SYN Flood 防范
简介: SYN Flood 是 DoS( 拒绝服务攻击 )与 DDoS( 分布式拒绝服务攻击 )的方式之一,这是一种利用 TCP 协议缺陷,发送大量伪造 TCP 连接请求,从而使得服务器资源耗尽( C ...
- 一致性哈希算法(consistent hashing)(转载)
转载请说明出处:http://blog.csdn.net/cywosp/article/details/23397179 一致性哈希算法在1997年由麻省理工学院提出的一种分布式哈希(DHT) ...
- 查看端口占用情况lsof,并关闭对应进程kill
lsof -n -P| grep ":<端口号>" | grep LISTEN #监听对应端口号的进程 lsof -i tcp:<端口号> #和对应端口号有 ...
- C#获取类里面的所有的方法名称
Type trypInfo = typeof(Program);// Program为类名//获得方法名string str = "包括的方法名列表:\r\n"; MethodIn ...
- css3中的transform、transition、translate、animation(@keyframes)的区别
一.前言 在CSS中,我们经常会使用到transform.transition.translate.animation(@keyframes)这些长得相似,又不好区分的属性(值).每当需要使用它们,都 ...
- iOS端一次视频全屏需求的实现(转)
对于一个带有视频播放功能的app产品来说,视频全屏是一个基本且重要的需求.虽然这个需求看起来很简单,但是在实现上,我们前后迭代了三套技术方案.这篇文章将介绍这三种实现方案中的利弊和坑点,以及实现过程中 ...