Linux 使用vim命令编辑文件内容
在终端可以使用vim命令来直接编辑文件内容。
vim,也可以叫做vi。
vim有三种模式:命令模式、输入模式、底线命令模式。
命令模式
vim 文件名 进入命令模式,vim也可以写成vi。
如果文件不存在,先创建再打开,如果文件已存在,直接打开。
只能是当前目录下的文件,不能是document/1.txt这种子孙目录下的文件。
此模式下敲击键盘动作会被Vim识别为命令,而非输入字符。常用命令:
- i 切换到输入模式,可以编辑文件内容,i即insert
- : 切换到底线命令模式。所谓底线命令模式,是指输入的命令是在最后一行的(底线)。
输入模式
在此模式下可以编辑文件内容。可以使用很多键,比如Home、End、Del等。
按ESC可推出输入模式,回到命令模式。
底线命令模式
在命令模式下按下:(英文冒号)即进入底线命令模式。常用命令:
- w 保存文件
- q 退出vim(要先保存,才能退出)
- q! 不用保存即可退出vim(强制退出)
注意:执行一个底线命令后,会自动回退到命令模式,如果还要执行底线命令,需要先按:,就是说每次执行底线命令时都要先按:。
可一起使用,比如
:wq 先保存文件再退出vim
完成流程示例
vim 1.txt 创建|打开文件
按i进入输入模式,编辑内容。
按ESC退出输入模式、回退到命令模式
按:wq保存文件并退出vim
命令模式下常用的快捷键
- dd 删除当前行
- yy 复制当前行
- p 在当前行的下面粘贴出来
- r 替换当前字符
这些命令要在命令模式下才可以使用。输入模式按ESC回到命令模式。
Linux 使用vim命令编辑文件内容的更多相关文章
- 【Linux】linux中用vim来比较文件内容不同
1. 使用vim的比较模式打开两个文件: vim -d file1 file2 或 vimdiff file1 file2 2. 如果已经打开了文件file1,再打开另一个文件file2进行比较: : ...
- Linux 使用 tail 命令查看文件内容
使用方法: $ tail --help 用法:tail [选项]... [文件]... 以标准输出的形式打印文件的最后10行内容: 如果不指定文件,或者文件为"-",则从标准输入中 ...
- linux 下echo命令写入文件内容
http://blog.csdn.net/xukai871105/article/details/35834703 echo "Raspberry" > test.txt
- linux下用命令修改文件内容
修改test_modify.sh中的LICENSE_INFO test_modify.sh #!/bin/bash licenseInfo=LICENSE_INFO licenseProduct=LI ...
- [转]linux中vim命令
在vi中按u可以撤销一次操作 u 撤销上一步的操作 ctrl+r 恢复上一步被撤销的操作 在vi中移动光标至: 行首:^或0 行尾:$ 页首:1G(或gg) 页尾:G(即shift+g) 显 ...
- linux几种快速清空文件内容的方法
linux几种快速清空文件内容的方法 几种快速清空文件内容的方法: $ : > filename #其中的 : 是一个占位符, 不产生任何输出. $ > filename $ echo & ...
- 使用while和read命令读取文件内容
转:使用while和read命令读取文件内容 1.准备数据文件 $cat a.txt 200:2 300:3 400:4 500:5 2.用while循环从文件中读取数据 #!/bin/ksh whi ...
- Linux中vim命令出现E325错误解决方法
出现该问题的原因是: vim在编辑文件的时候会创建一个swp file来保证文件的安全性,如果没有正常退出vim的,下次打开这个文件就会报E325的错误,提示swp文件已经存在. 解决方法也简单:把这 ...
- iconv内容,convmv文件名,unix2dos,dos2unix文件格式转换,od/cut/wc/dd/diff/uniq/nice/du等命令,linux文件名乱码,文件名,文件内容,vim编码设置
1.enconv文件名编码转换,比如要将一个GBK编码的文件转换成UTF-8编码,操作如下 enconv -L zh_CN -x UTF-8 filename enconv -L GB2312 -x ...
随机推荐
- 对于Python中的字节串bytes和字符串以及转义字符的新的认识
事情的起因是之前同学叫我帮他用Python修改一个压缩包的二进制内容用来做fuzz,根据他的要求,把压缩包test.rar以十六进制的方式打开,每次修改其中一个十六进制字符串并保存为一个新的rar用来 ...
- 自动化运维之Ansible入门
Ansible简介 Ansible是什么? Ansible 简单的说是一个配置管理系统(ConfiGuration Management System).你只需要可以使用ssh访问你的服务器或设备.它 ...
- JSTL (标准标签库)
JSTL(标准标签库) 作用: Web程序员能够利用JSTL和EL来开发Web程序,取代传统直接在页面上嵌入Java程序(Scripting)的做法,以提高程序的阅读性.维护性和方便性. 使用方法:J ...
- php7 mongodb 扩展windows 安装
1. 打开phpinfo 查看 nts(非线程) 还是 ts (线程),然后查看操作位数 注: 86 等于 32 位 2. 下载对应的版本的php_mongodb.dll 文件 下载链接: pecl ...
- 简单看看读写锁ReentantReadWriteLock
前面我们看了可重入锁ReentrantLock,其实这个锁只适用于写多读少的情况,就是多个线程去修改一个数据的时候,适合用这个锁,但是如果多个线程都去读一个数据,还用这个锁的话会降低效率,因为同一时刻 ...
- centos7安装OTRS6
1.在文件/etc/selinux/config中配置SELINUX=disabled 重启系统.重启后确认命令getenforce返回为Disabled 2.配置数据库 我们这里使用MariaDB ...
- java数据域初始化
1.在声明中赋值 /** * Created by N3verL4nd on 2016/11/19. */ class Test{ private String str = "Hello W ...
- python3调用哈工大ltp
运行环境ubuntu+python3 安装pyltp sudo pip3 install pyltp 下载ltp_data_v3.4.0模型 http://ltp.ai/ 分句 from pyltp ...
- 用Python在Linux下调用新中新DKQ-A16D读卡器,读二代证数据
1.背景 最近在研究二代证读卡器,手头上的设备是新中新DKQ-A16D,在官网(https://www.onecardok.com.cn/download)逛了一圈,发现Win下的示例,浏览器插件很多 ...
- ccf
import java.util.ArrayList; import java.util.Arrays; import java.util.HashSet; public class MST { pu ...