vim工作模式和常用命令
1 vim常用命令
1 vim的工作模式
vim有三种基本的工作模式,分别为:插入模式、底行模式、一般模式。
1.1 一般模式
使用vim打开文件之后,首先进入一般模式,它是vim编辑器入口模式。在一般模式下,通过使用命令对文件进行常规的编辑操作,例如:复制、粘贴、删除等等。
1.2 底行模式
底行模式是vim编辑器的出口,要退出vim,必须要在底行模式下执行退出文件、保存并退出文件等操作。
1.3 插入模式
正常的编辑文字模式。
2 三种模式的切换操作
1 vim打开一个文件进入的就是一般模式。
2 在一般模式中按下i,I,o,O,a,A,r,R,s,S,cc,C任何一个字母后进入插入模式,进入编辑模式后,按Esc键退出模式,回到一般模式。
快捷键 | 功能描述 |
---|---|
i | 在当前光标所在位置插入随后输入的文本,光标后的文本相应向右移动 |
I | 在光标所在行的行首插入随后输入的文本,行首是该行的第一个非空白字符,相当于光标移动到行首执行 i 命令 |
o | 在光标所在行的下面插入新的一行。光标停在空行首,等待输入文本 |
O | 在光标所在行的上面插入新的一行。光标停在空行的行首,等待输入文本 |
a | 在当前光标所在位置之后插入随后输入的文本 |
A | 在光标所在行的行尾插入随后输入的文本,相当于光标移动到行尾再执行a命令 |
r | 在当前光标所在位置插入随后输入的文本 |
R | 在当前光标所在位置插入随后输入的文本 |
s | 删除当前光标所在字符,随后输入文本 |
S/cc | 删除当前光标所在行的字符,随后输入文本 |
C | 删除当前行光标所在位置后面的所有字符,随后输入文本 |
3 在一般模式中按下:,/,?中任意一个即可进入底行模式,底行模式可以对文档或者vim环境进行操作,例如查找、退出、显示行号等。
4 vim工作模式操作流程图如下。
3 vim命令
3.1底行命令
1 :wq 保存退出
2 :q! 不保存退出(强制退出)
3 ZZ 文件没更改,直接退出,文件更改,存储退出
4 :!command 暂时离开vim,按回车键重新进入vim
5 :set number 显示行号
6 :set nonumber 隐藏行号
7 :w filename 另存为文件
8 :e!撤销所有操作
9 :行号 ,调到指定的行
3.2 移动命令
1 w b 下一个,上一个单词
2 0, $ 行首,行尾
3 gg 第一行
4 G 最后一行
5 xG到x行
3.3 搜索替换命令
● :1,$s/private/public/g 将第一行到追后一行的private替换为public
原本的内容:
输入命令后的内容:
● :1,$s/public/private/c 将第一行到追后一行的public替换为private(有提示)
- /word 向光标之下寻找word字符串
- ?word 向光标之上寻找word字符串
3.4 编辑命令
1 x删除一个字符
2 dd 删除一行
3 yy复制一行
4 p粘贴
5 输入v进入选择模式,选择内容,输入y复制,调到要黏贴的位置输入p粘贴
6 输入u 撤销操作
7 在一般模式中输入/8080查找8080,输入n查找下一个
8 在一般模式输入r+替换的字符,执行替换
3.5 撤销与重复
1 u 撤销前一个动作
2 . 重做上一个动作
4 用vim编辑C语言并执行
4.1 编写文件
用vim创建并编写C语言文件。
[root@a4 ~]# vim HelloWorld.c
4.2 gcc命令
1 查看gcc版本
4.3 gcc用法
1.预处理
2.编译
3.汇编
4.链接
1 预处理
进行宏替换
执行命令:gcc -E HelloWorld.c -o HelloWorld.i
-E:开始进行翻译,完成预处理之后停下
生成已被预处理的临时文件test.i
[root@a4 ~]# gcc -E HelloWorld.c -o HelloWorld.i
[root@a4 ~]# ls
a.java Animal b.c HelloWorld.c java-project java-project.tar.bzip2 OAuth2Config.java v3.txt
anaconda-ks.cfg b HelloWorld1.c HelloWorld.i java-project.tar java-project.tar.gz post_install.log v4.txt
[root@a4 ~]# vim HelloWorld.i
[root@a4 ~]#
2 编译:生成汇编
执行命令:gcc -S HelloWorld.c -o HelloWorld.s
-S:开始进行程序翻译,完成编译之后停下
将c语言转换成汇编语言
[root@a4 ~]# gcc -S HelloWorld.c -o HelloWorld.s
[root@a4 ~]# ls
a.java Animal b.c HelloWorld.c HelloWorld.s java-project.tar java-project.tar.gz post_install.log v4.txt
anaconda-ks.cfg b HelloWorld1.c HelloWorld.i java-project java-project.tar.bzip2 OAuth2Config.java v3.txt
[root@a4 ~]#
3 汇编:汇编语言变成可重定向二进制文件
执行命令:gcc -c HelloWorldt.s -o HelloWorld.o
-c:翻译程序,完成汇编就停下
生成二进制文件,不能直接被执行
[root@a4 ~]# gcc -c HelloWorld.s -o HelloWorld.o
[root@a4 ~]# gcc HelloWorld.o -o HelloWorld
[root@a4 ~]# ./HelloWorld
Hello World
4 链接:生成可执行文件或库文件
执行命令:gcc HelloWorld.o -o HelloWorld 生成可执行文件HelloWorld
[root@a4 ~]# gcc HelloWorld.o -o HelloWorld
[root@a4 ~]# ./HelloWorld
Hello World
5 可直接用一条命令生成可执行文件
gcc HelloWorld.c -o abc
[root@a4 ~]# gcc HelloWorld.c -o abc
[root@a4 ~]# ls
abc anaconda-ks.cfg b HelloWorld HelloWorld.c HelloWorld.o HelloWrld.i java-project.tar java-project.tar.gz post_install.log v4.txt
a.java Animal b.c HelloWorld1.c HelloWorld.i HelloWorld.s java-project java-project.tar.bzip2 OAuth2Config.java v3.txt
[root@a4 ~]# ./abc
Hello World
[root@a4 ~]#
5 用vim编写Java代码并运行
5.1 查看并安装jdk
1 查看Linux系统中是否有jdk
[root@a4 ~]# java -version
bash: java: command not found
5.2 查看自己的Linux系统,便于下载相对应的jdk
[root@a4 ~]# sudo uname --m
x86_64
5.3 在Win系统下载Linux版本的jdk
5.4 安装jdk
我之前用过VMware,那个可以把文件直接拖进虚拟机里面实现文件的复制,但是现在用的VirtualBox虚拟机,该如何实现复制jdk到Linux系统中呢?
我之前想到Linux挂载点vagrant,那么可以用这个挂载点实现win和linux系统文件共享。
1 首先把下载的jdk复制到挂载目录vagrant中。
2 进入Linux系统,将挂载目录中的Linux版本的jdk复制到root目录下并解压
[root@a4 ~]# cd /vagrant
[root@a4 vagrant]# ls
aaa.txt bootstrap.sh.bak centos_v2.box centos_v4.box OAuth2Config.java Vagrantfile
bootstrap.sh centos_v1.box centos_v3.box jdk-8u281-linux-x64.tar.gz vagrant Vagrantfile.bak
[root@a4 vagrant]# cd ~
[root@a4 ~]# cp /vagrant/jdk-8u281-linux-x64.tar.gz ./
[root@a4 ~]# ls
abc Animal HelloWorld HelloWorld.c HelloWorld.o HelloWrld.i jdk-8u281-linux-x64.tar.gz post_install.log
anaconda-ks.cfg b.c HelloWorld1.c HelloWorld.i HelloWorld.s java-project OAuth2Config.java
[root@a4 ~]# tar -zxvf jdk-8u281-linux-x64.tar.gz -C /usr/local
3 配置Java环境变量
vim /etc/profile
#在文件尾部添加如下信息:
export JAVA_HOME=/usr/local/jdk
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export PATH=$PATH:${JAVA_PATH}
#编辑完成后,保持并退出,刷新环境配置使其生效:
source /etc/profile
[root@a4 ~]# java -version
java version "1.8.0_281"
Java(TM) SE Runtime Environment (build 1.8.0_281-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.281-b09, mixed mode)
[root@a4 ~]#
5.5 编写代码并运行
[root@a4 local]# vim Hello.java
[root@a4 local]# javac Hello.java
[root@a4 local]# java Hello
Hello World!
6 总结
1 vim三种工作模式,分别为一般模式、底行模式、插入模式。这三种模式可用简单命令进行转换。
2 vim命令很多是,有底行命令、移动命令、搜索替换命令、编辑命令、撤销与重复操作命令等等,vim命令还有很多,本文就不一 一列举了。这些命令都简单和易于操作。
3 关于在Linux系统运行C语言和Java语言程序:和Win系统一样,只要将相关工具安装并配置好相应环境变量,即可在Linux运行相应的程序。