Vi/vim学习报告
vi/vim 包括命令模式(Command mode),输入模式(Insert mode)和底线命令模式(Last line mode)三种模式
命令模式
用户刚刚启动 vi/vim,便进入了命令模式。
此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。
以下是常用的几个命令:
- i 切换到输入模式,以输入字符。
- x 删除当前光标所在处的字符。
- : 切换到底线命令模式,以在最底一行输入命令。
若想要编辑文本:启动Vim,进入了命令模式,按下i,切换到输入模式。
命令模式只有一些最基本的命令,因此仍要依靠底线命令模式输入更多命令。
输入模式
在命令模式下按下i就进入了输入模式。
在输入模式中,可以使用以下按键(相当于一个文本编辑器):
- 字符按键以及Shift组合,输入字符
- ENTER,回车键,换行
- BACK SPACE,退格键,删除光标前一个字符
- DEL,删除键,删除光标后一个字符
- 方向键,在文本中移动光标
- HOME/END,移动光标到行首/行尾
- Page Up/Page Down,上/下翻页
- Insert,切换光标为输入/替换模式,光标将变成竖线/下划线
- ESC,退出输入模式,切换到命令模式
底线命令模式
在命令模式下按下:(英文冒号)就进入了底线命令模式。
底线命令模式可以输入单个或多个字符的命令,可用的命令非常多。
在底线命令模式中,基本的命令有:
- :q 退出程序
- :w 保存文件
- :wq保存并退出
按ESC键可随时退出底线命令模式。
vi/vim创建/打开文件
如想要打开文件filename.text,则在终端输入指令:
vi filename.text
当文件filename.text存在于当前目录时,将其打开,如果不存在,则创建文件名为filename.text的文件并打开。
上述内容已经足够用了
查看更多按键指令
Java学习报告(以小程序计算器为例)
导入库:
将已有的库函数导入到程序以便后续的使用,相当于C++/C的include。
类声明:
extends表示继承于JFrame类。
GUI相关内容
1. 构建按钮,文本面板
其中GridLayout是网格型的面板,在这里MAGIC_NUMBER_2值是4,即构建了一个4*4的网格面板,而BorderLayout是边界型面板,指处于中间的控件优先级大于处于其他方位的控件,即当整体窗口拉大时,处于中间的控件会优先放大挤压周围的控件。
2. 构建一个输入框
文本输入框的文本可以通过text.getText()和text.setText(“….”)函数进行获取和修改。
3. 构建按钮
4. 将文本输入框等加入到文本面板
5. 在主面板建立一个边界面板并将文本面板和按钮面板添加进去
6. 对于每个按钮,都需要添加一个动作监听函数,用于处理相应的点击事件
其中String btText = e.getActionCommand();是用于获取被点按钮的文本内容;
handleCalculation(btText);用于处理相应按钮点击的事件,逻辑实现不需要什么Java知识,C/C++知识就够用了。
7. 弹出提示信息
构造函数参数依次是提示组件类型,提示信息,提示标题,提示类型。
其他值得注意的地方
1. 字符串的比较需要调用equals()函数,而不是用 ==;
2. 基本类型相互转换可以通过valueOf(…)函数实现,如浮点数para转字符串String.valueOf(para);同理,字符串para转浮点数Double.valueOf(para);
3. 主函数写法:
主函数声明的写法与C/C++有些不一样。
在主函数中,我用Runnable类建立了一个线程并使用了Java的try{…}catch(Exception e){…}异常处理。
Ant学习报告
Eclipse导出build.xml
对项目点右键并选择Export,查找ant后可以导出Eclipse自动生成的build.xml
build.xml内容分析(使用导出的build.xml为例,自己写的太简单了)
项目声明,name是名称,default是首先运行的target,target相当于函数,basedir是基于的文件位置,.表示当前位置。
项目属性定义,方便后面的使用,相当于宏定义。
定义好生成类的路径
为项目的执行做好先行工作,创建好目标文件夹等
清理原有的目标文件夹
首要执行的target,depends表示该目标的执行建立在depends里面的target执行完后的前提下
进行编译,并将生成文件放在上面定义好的路径,其中${…}指的是用上面的宏值替换
description是target的描述,相当于注释
在云桌面终端进入build.xml存在的目录使用ant指令可以编译出目标文件
没有全部贴出来,因为有些没有用到,有些重复了我说过的功能
Junit学习报告
Eclipse内使用Junit
HelloWorld改写成上图的样子,通过assertEquals(…,…)函数利用了Junit 的测试功能,当然还有其他用于测试的函数,再添加一个runTest类添加主函数测试
执行结果
说明测试通过Message是等于”Hello World!\n”的。