一些东西

vim

1.多行注释

(以下方法可以在多行的每一行前面加入相同内容)

Ctrl-v进入visual block模式;调整选择块;按I(大写的i);输入要加的字符;按esc,等待几秒

2.多行缩进

①用多行注释相同方法

②可视模式下按shift+<(减少缩进)或者shift+>(增加缩进)

③:l,r>  或  :l,r<   l,r为需要调整缩进的行区间,可以一次性增/删多个tab

3.???

可以在进入vim之前ulimit -s unlimited,这样在vim里面:!开头运行的程序栈空间都无限制(对于gnome-terminal出来的没用)

4.替换

选区替换就是:'<,'>s/AAA/BBB/g(这是把选区所在行内所有AAA替换成BBB)

如果只要把选区内AAA替换成BBB,就要是:'<,'>s/\%VAAA/BBB/g


getterm

1 #!/bin/bash
2 gnome-terminal --geometry=85x35 --zoom=1.2 --working-directory=$HOME/Desktop
View Code

makenewcpp

1 #!/bin/bash
2 cp ~/.template1.cpp $1
View Code

.template1.cpp

 1 #include<cstdio>
 2 #include<algorithm>
 3 #include<cstring>
 4 #include<vector>
 5 using namespace std;
 6 #define fi first
 7 #define se second
 8 #define mp make_pair
 9 #define pb push_back
10 typedef long long ll;
11 typedef unsigned long long ull;
12 typedef pair<int,int> pii;
13 
14 int main()
15 {
16     return 0;
17 }
View Code

.vimrc

set shiftwidth=4
set tabstop=4
set softtabstop=4
" 自动缩进
set nu" 行号,用set nonu撤销
set mouse=a" 可以使用鼠标,用set mouse=撤销
set hls" 搜索高亮,用:set nohls撤销
filetype indent plugin on" 依文件类型设置自动缩进

map! <F9> <esc>:update<CR>:call C()<CR><CR>
" !:插入和命令行;update应该是保存吧?
map <F9> :update<CR>:call C()<CR><CR>
" 普通、可视、选择和操作符等待
func! C()
exec "!g++ -Wextra -Wall -g -std=gnu++17 -fno-omit-frame-pointer -fsanitize=address -fsanitize=undefined -ftrapv -fdiagnostics-color=always -static-libstdc++ -static-libgcc % -o %<.out 2>&1 | less -r"
endfunc

map! <F10> <esc>:call R()<CR><CR>
map <F10> :call R()<CR><CR>
func! R()
exec "!gnome-terminal -e "/bin/bash -c '( time ./%<.out ) ; read'""
endfunc

set cin" set cindent
" 剪贴板:如果--version内+clipboard,则使用v选定后使用命令"+y/"+p
" 如果不可以,则做必要的操作后,在插入模式下用shift+ctrl+c/v
" set showmatch"高亮显示对应的括号
" set showcmd" 命令行显示输入的命令
" set showmode" 命令行显示vim当前模式
" set backspace=2" more powerful backspacing
" set autoindent
" syntax on"语法高亮
" set ai"自动对齐
" set scrolloff=3" 光标移动到buffer的顶部和底部时保持3行距离
" set cursorline" 高亮当前行
" set wildmenu" 增强模式中的命令行自动完成操作
" set nocp" 非兼容模式
" map! ` <esc>" 用`代替<esc>
View Code

.vimrc(noi linux)

 1 set cin" set cindent
 2 set shiftwidth=4
 3 set tabstop=4
 4 set softtabstop=4
 5 " 自动缩进
 6 set nu" 行号,用set nonu撤销
 7 set mouse=a" 可以使用鼠标,用set mouse=撤销
 8 set hls" 搜索高亮,用:set nohls撤销
 9 
10 
11 map! <F9> <esc>:update<CR>:call C()<CR><CR>
12 " !:插入和命令行;update应该是保存吧?
13 map <F9> :update<CR>:call C()<CR><CR>
14 " 普通、可视、选择和操作符等待
15 func! C()
16 exec "!g++ -Wextra -Wall -g -std=gnu++1y -fno-omit-frame-pointer -fsanitize=address -ftrapv % -o %<.out 2>&1 | less -r"
17 endfunc
18 
19 map! <F10> <esc>:call R()<CR><CR>
20 map <F10> :call R()<CR><CR>
21 func! R()
22 exec "!gnome-terminal -e "/bin/bash -c '( time ./%<.out ) ; read'""
23 endfunc
24 
25 
26 " 剪贴板:如果--version内+clipboard,则使用v选定后使用命令"+y/"+p
27 " 如果不可以,则做必要的操作后,在插入模式下用shift+ctrl+c/v
28 " set showmatch"高亮显示对应的括号
29 " set showcmd" 命令行显示输入的命令
30 " set showmode" 命令行显示vim当前模式
31 " set backspace=2" more powerful backspacing
32 " set autoindent
33 " syntax on"语法高亮
34 " set ai"自动对齐
35 " set scrolloff=3" 光标移动到buffer的顶部和底部时保持3行距离
36 " set cursorline" 高亮当前行
37 " set wildmenu" 增强模式中的命令行自动完成操作
38 " set nocp" 非兼容模式
39 " map! ` <esc>" 用`代替<esc>
40 " F10可能需要在终端中点击“编辑”“快捷键”,关闭跳出菜单中F10
View Code

gdb

加载文件可以用gdb <filename>打开gdb,或进入gdb后file <filename>

p(print) <expr> 输出<expr>的值

display <expr> 每一次停下来都会输出<expr>的值;用undisplay <displaynum>(是一个编号,display时候可以看到)取消

b <linenumber> 加断点;用d(delete) <breakpointnumber>(是一个编号,info b可以看到)取消

run 开始运行程序

info locals 查看局部变量

continue 执行到下一断点或程序结束

next 下一步,不进入函数内部;step 下一步,进入函数内部

bt(backtrace) 查看堆栈

focus 可以显示一个代码小窗口(好像不好用)

finish 运行到函数结束

disassemble 看汇编;后面加一个/m可以汇编和程序对照


linux桌面

ctrl+alt+方向键 切换工作区

shift+ctrl+alt+方向键 切换工作区,并移动当前窗口到目标工作区

进noilinux之后需要将~目录下的.viminfo更名

原文地址:https://www.cnblogs.com/hehe54321/p/9839023.html