【virtualbox+ubuntu】&vim基本操作
virtualbox+ubuntu
下載virtualbox 軟件【5.2.22適用於win10、4.3.12適用於win7】、ubuntu 系統鏡像【LTS穩定更新版4年】【ubuntu 12.04 LTS desktop.iso】
下載安裝基礎步驟
安裝並運行virtualbox (默認路徑安裝),新建虛擬機;
設置虛擬機內存大小,至少1024MB;
創建虛擬硬盤,掛載系統鏡像;
安裝系統;
重啓後更新操作系統、安裝功能增強包;
安裝vim、g++,設置終端的字體、配色、背景圖片。
操作系統基礎命令
基礎命令
含義
/
根據目錄
/bin
普通命令的存儲目錄
/boot
操作吸引啓動的相關文件
/dev
設備文件(會把硬件設備抽象成設備文件)
/etc
各種配置文件
/home
用戶主目錄,每個用戶都有一個以用戶名命名的目錄
/lib
靜態、共享庫文件
/media
多媒體設備,共享文件就在這個目錄下
/mnt
掛載其他存儲設備,可以外接,也可以是網絡的
/opt
軟件的安裝位置,大多數軟件會安裝在這個目錄下
/proc
程序運行時的情況記錄(包括打開的文件、內存使用情況、網絡使用情況等)
/root
超級用戶相關的目錄
/run
操作系統運行時的相關的文件
/sbin
具有超級權限才能使用的一些命令,(使用時要加sudo)
/selinux
防火牆
/sys
硬件設備的驅動
/tmp
臨時文件的存儲目錄,重啓後消失
/usr
各種頭文件的存儲目錄
特殊目錄說明
符號
含義
/
根據目錄
~
當前用戶的主目錄
…
當前目錄的上一級
.
當前目錄,一般用來幫助尋找文件
Linux常用系統命令舉例
ubuntu@: ~ $ ls
a. out lalala main. c 模板 文檔 桌面
examples. desktop lalala_link. txt~ text. txt~ 視頻 下載
first. c lalala. txt~ 公共的 圖片 音樂
ubuntu@: ~ $ cd 桌面
ubuntu@: ~ / 桌面$ cd . .
ubuntu@: ~ $ pwd
/ home/ ubuntu
ubuntu@: ~ $ touch hi. c
ubuntu@: ~ $ cat hi. c
#include <stdio.h>
int main ( )
{
printf ( "hello world!\n" ) ;
return 0 ;
}
ubuntu@: ~ $ gcc hi. c
ubuntu@: ~ $ a. out
hello world!
注意 :瞭解更多基礎命令點這裏 。
vim及其基本操作
vim是一款功能強大、支持各種插件、配置極爲靈活的編輯器。
基本的用法
進入vim,vim 文件名。文件存在則直接打開,不存在則創建,此時只能閱讀代碼或修改代碼,不適合編寫代碼。
輸入 i ,進入插入模式 ,可以正常編寫代碼。
代碼編寫完成後,按Ctrl + x 執行,按enter 返回,輸入i 繼續編寫。
Ctrl + z 保存退出。
vim的三大模式介紹
正常模式 :剛進入時的模式,在此模式下適合閱讀代碼、修改代碼。
插入模式 :此模式下適合編寫代碼。
行底模式 :進行配置vim,執行vim相關命令。
vim三大模式的切換
輸入i
輸入:
按esc或者ctrl+c
按esc或ctrl+c
正常模式
插入模式
行底模式
注意 :插入模式與行底模式之間不能直接切換,必須由正常模式跳轉。
vim三大模式中基礎命令
正常模式
光標移動
基礎命令
含義
h 、j 、k 、l
上下左右移動光標
PgUp 、PgDn
上下翻頁
home 、 end
行首、行尾
n + Enter
向後跳轉n行
n +G
跳轉到n行
刪除代碼
基礎命令
含義
x
刪除一個字符
d +w /d +e
刪除一個單詞
d +$
刪除到行尾
d +d
刪除整行
n +d +d
刪除n行
複製代碼
基礎命令
含義
y +y
複製整行
n +y +y
複製n行
p
粘貼到下一行
替換代碼
基礎命令
含義
r
替換一個字符
c +w /c +e
替換一個單詞
撤銷與反撤銷
基礎命令
含義
u
撤銷之前的操作
Ctrl + r
取消撤銷操作
插入模式
此模式下主要用來編寫代碼,因此快捷鍵不多。
基礎命令
含義
Ctrl + i
相當於製表符tab鍵
Ctrl + p
代碼補全
Ctrl + j
回車符
Ctrl + c
返回正常模式
行底模式
可以執行系統命令,!cmd,執行完成後按 Enter 返回vim;
對vim進行一些配置:
set nu 顯示行號
set nonu 不顯示行號
set ts=4 設置tab寬度;
注意 :在行底模式下進行一些設置都只是臨時有效,想要長久有效需要把這些命令寫入到配置文件中。
執行vim的一些命令
基礎命令
含義
q
退出
q!
強制退出(打開沒有權限的文件後進行操作修改)
w
寫入
wq(x)
保存退出
設置代碼縮進
基礎命令
含義
> + n
n行代碼向右移動一下
< + n
n杭代碼向左移動一下
查找
/key
n 向下查找下一個。N向上查找下一個。
替換
%s/old//new
vim配置舉例1
1 "顯示行號
2 set number
3 "不顯示行號,正常模式輸入:進入行底模式,set nonumber
4 "設置tab鍵的寬度,默認是8 ,一般配置爲4
5 set tabstop= 4
6 "設置縮進的寬度
7 set shiftwidth= 4
8 "使用空格代替tab,在makefile中縮進要使用tab
9 set noexpandtab
10 "自動保存
11 set autowrite
12 "不生成臨時文件
13 set noswapfile
14 "自動縮進
15 set autoindent
16 "智能縮進
17 set smartindent
vim配置舉例2
19 "-- - 快捷編譯-- -
20 "1 編譯函數
21 func! CompileCode ( )
22 "寫入文件
23 exec "w"
24 "判斷文件類型
25 if & filetype == "cpp"
26 exec "!g++ % && ./a.out"
27 elseif & filetype == "c"
28 exec "!gcc -std=gnu99 % -lm -lpthread && ./a.out"
29 endif
30 endfunc
31
32 "2 映射快捷鍵
33 map < C- x> : call CompileCode ( ) < CR>
34 imap < C- x> < ESC> : call CompileCode ( ) < CR>
35 vmap < C- x> < ESC> : call CompileCode ( ) < CR>
vim配置舉例3
37 "-- - 快捷保存退出-- -
38 "1 保存退出函數
39 func! SaveExit ( )
40 exec "wq"
41 endfunc
42
43 "2 映射快捷鍵
44 map < C- z> : call SaveExit ( ) < CR>
45 imap < C- z> < ESC> : call SaveExit ( ) < CR>
46 vmap < C- z> < ESC> : call SaveExit ( ) < CR>
TEST
001 helloworld
1 #include< stdio. h>
2 int main ( )
3 {
4
5 printf ( "hello world!\n" ) ;
6
7 return 0 ;
8
9
10 }
002 冒泡排序
1 #include < stdio. h>
2 void bubbleSort ( int a[ ] , int n) {
3 int i, j , tmp;
4 for ( i= 0 ; i< n- 1 ; ++ i) {
5 for ( j= 0 ; j< n- 1 - i; ++ j) {
6 if ( a[ j] > a[ j+ 1 ] ) {
7 tmp= a[ j] ;
8 a[ j] = a[ j+ 1 ] ;
9 a[ j+ 1 ] = tmp;
10 }
11 }
12 }
13 }
14 int main ( ) {
15 int i, a[ 8 ] = { 3 , 1 , 5 , 7 , 2 , 4 , 9 , 6 } ;
16 bubbleSort ( a, 8 ) ;
17 for ( i= 0 ; i< 8 ; ++ i)
18 printf ( "%d" , a[ i] ) ;
19 return 0 ;
20 }