一、vi学习
vi是什么
vi(Visual Interface的缩写,即可视化接口)编辑器是Unix及Linux系统下标准的编辑器,vim是vi的增强版,具有语法着色功能。
vi的工作模式
命令模式
刚进入vim的时候,默认就是命令模式,在其他模式下通过按ESC键也可进入该模式。该模式可以用于移动光标、删除字、进行复制粘贴等操作。在命令行下输入字母是没有任何显示的,一般是直接按功能键执行命令。
编辑模式
在命令模式下可通过按i、o、a等键进入编辑模式。在编辑模式下,用户输入的任何字符都会录入文件中。可用ESC键回到命令模式。
末行模式
在命令模式下,用户输入“:”即可进入末行模式,此时Vi会在显示窗口的最后一行显示一个“:”作为末行模式的提示符,等待用户输入命令。
如果要从命令模式转换到编辑模式,可以键入命令a或者i;如果需要从文本模式返回,则按Esc键即可。在命令模式下输入“:”即可切换到末行模式,然后输入命令。
vi的打开、关闭及编辑
一般通过vim后跟文件路径及文件名来打开。如果文件存在,则打开编辑文件窗口,如果文件不存在,则创建文件并打开。
在末行模式输入w保存,输入q退出,或直接输入wq或x以保存退出。q!命令可以强制退出,具有管理员权限的话可以通过w!强制保存。
至于编辑的话,常用的命令如下:
-
进入编辑模式
i和I: i在光标前插入,I在行首插入
a和A: a在光标后插入,A在行末插入
o和O: o在光标所在行下一行插入,O在光标所在行上一行插入
-
移动光标
- 逐字符移动
h:光标向左移动, j:光标向下移动,k:光标向上移动, l:光标向右移动
H、M、L:光标移动到到可见屏幕第一行(H)、中间行(M)、最后一行(L)
- 大幅移动
^:移动到行, $:移动到行末, G:文档最后一行, gg:文档第一行
-
删除内容
X和x:x删除光标后一个字符,X删除光标前一个字符,包含光标位置字符
dd和 n dd:dd删除所在行,n dd删除指定行数
d0和D:d0删除光标前本行所有内容,D删除光标后本行所有内容,包含光标位置字符
- 其他快捷功能
u:撤销
ctrl + r:重做
.:重复执行上一次操作的命令
yy:复制当前行
p: 在光标所在位置向下新开一行粘贴
v 和 V:v选择单个字符,V选择整行
<<和>>:选择文本之后,向左缩进,向右缩进
以上便是我认为在这次学习过程中可能会高频使用的vim命令。
二、JAVA语言学习
Java是一门面向对象编程语言,具有很多C++和C#的特征,不少语句和C++大同小异,还没有恼人的指针,因此上手不算难事。Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点,可以用于编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序。
Java还有一点比较好的就是一次编译就能在多个平台上运行,原因是代码与机器之间有一个虚拟机JVM,
它屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。但这也对Java的运行速度稍有影响。
编写Helloworld
以一个helloworld.java程序来开启Java的入门:
public class helloworld{
static public String str;
public String GetStr(){
return str;
}
public helloworld(){
str = "Hello World!";
}
public static void main(String[] args) {
helloworld hape = new helloworld();
System.out.println(hape.GetStr());
}
}
输入如下命令,编译并运行:
javac helloworld.java
java helloworld
编译是编译成功了,但却提示"Could not find or load main class helloworld",一找原因