概述
开发时 挂载 快速搭建window目录共享
mount -o loop /data/debian5-1.iso /cdrom
aptitude install libsmbclient
aptitude install samba
adduser horseliu (userdel -r horseliu)
passwd horseliu
smbpasswd -a horseliu
smbmount //192.168.1.168/share /home/horseliu/work/ap/share username=horseliu,password=123456
mount.smbfs //192.168.1.168/share /home/horseliu/work/ap/share -o username=horseliu,password=123456
umount -l /home/horseliu/work/ap/share
postgres安装
cd ../
tar zxvf postgresql-8.3.1.tar.gz /
cd postgresql-8.3.1 /
./configure --prefix=/usr/local/pgsql /
--enable-unicode-conversion /
--enable-locale /
--enable-multibyte /
--enable-odbc /
--with-perl /
--with-maxbackends=1024 /
make /
make install /
export PATH=/usr/local/pgsql/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/pgsql/lib:$LD_LIBRARY_PATH
cd /usr/local/pgsql/bin
su postgres
创造数据集群
./initdb --locale=zh_CN.utf8 -D /var/www/pgsql/tdcis
启动数据集群
./pg_ctl -D /var/www/pgsql/tdcis start
./postmaster -D /var/www/pgsql/tdcis
./pg_ctl -D /var/www/pgsql/tdcis stop
登陆:
./psql -h server_1 -p 5432 –U postgres –W abcde postgres
./psql -h localhost -p 5432 meetme
1>数据库
数据库创建用户root create role root with superuser createdb createrole login password 'k';
创建用户 createuser -ADPE root
密码 为k
创建tdcis数据库 createdb -O root tdcis
/i tdcis.sql
createuser -ADPE test //创建用户
Enter password for new user:
Enter it again:
CREATE USER
5: $ createdb -O test test //创建数据库
CREATE DATABASE
6: $ createlang plpgsql test
$ logout
# psql -h 127.0.0.1 -U test test
Password:
Welcome to psql 7.4.6, the PostgreSQL interactive terminal.
Type: /copyright for distribution terms
/h for help with SQL commands
/? for help on internal slash commands
/g or terminate with semicolon to execute query
/q to quit
test=>;/q
pgsql-# /l //**显示所有数据库列表,和mysql的show databases功能等同;
/l 列所有数据库
/dt 显示当前数据库中表的信息,与mysql 中show table等同
/c <database name> 连接另外一库
/du 显示用户列表
/! 回到shell下执行操作,exit返回
/q 退出psql
查看所有库:/l
查看所有表: /dt
查看某个表的结构: /d 表名
show port 显示服务器的端口;
show server_encoding 显示服务器的字符集。
show client_encoding 显示客户段字符集的编码。
show data_directory 显示数据库的工作目录,数据库存放的位置。
show listen_addresses 显示监听的地址。
sudo su postgres
psql postgres
alter user postgres with password 'new password'
pg_ctl start | rotatelogs /var/log/pgsql_log 86400
1>数据库
数据库创建用户root create role root with superuser createdb createrole login password 'k';
创建用户 createuser -ADPE root
密码 为k
创建tdcis数据库 createdb -O root tdcis
/i tdcis.sql
2>安装 php5-pgsql插件
apt-get install -y php5-pgsql
3>建立文件夹/var/templates_c
4>/etc/php5/apache2/php.ini
修改 session.save_path = /tmp
session.name = tdcisSession
5>保证/etc/php5/apache2/php.ini运行的权限755
6>vim /etc/postgresql/8.3/main/pg_hba.conf
METHOD 修改为 trust
7>重启动
/etc/init.d/apache2 restart
/etc/init.d/apache2 restart
samba
1> smbpasswd -a horseliu
2> vi /etc/samba/smb.conf
security = user
[html]
path = /var/www
public = yes
writable = yes
valid users = horseliu
force user = nobody
force group = nogroup
available = yes
browseable = yes
create mask = 0777
directory mask = 0777
guest ok = yes
qt4
apt-get install libqt4-dev
sudo apt-get install g++ automake qt编译三方库需要
sudo apt-get install qt4-dev-tools qt4-designer qt4-doc
apt-get install libqt4-sql-odbc
apt-get install libqt4-sql-psql
libqt4-xml
libqt4-xmlpatterns
libqt4-xmlpatterns-dbg
qt4-qmake
libqt4-qt3support
/root/Applications/VoIP/config
find ./ -name "*.so" | awk 'system("cp "$1" /usr/share/qt4/lib")'
#qt import qt4
QTDIR=/usr/share/qt4
PATH=$QTDIR/bin:$PATH
LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
export QTDIR PATH $LD_LIBRARY_PATH
export QTDIR PATH $LD_LIBRARY_PATH
开发机转移到运行机上
打包
tar -cvf html.tar /var/www/html/*
scp /var/www/html/* root@192.168.110.254:/var/www/html
tar xfv html.tar
开发时 挂载
smbmount //192.168.1.168/share /home/horseliu/work/ap/share username=horseliu,password=123456
mount.smbfs //192.168.1.168/share /home/horseliu/work/ap/share -o username=horseliu,password=123456
umount -l /home/horseliu/work/ap/share
解决samba不允许一个用户使用一个以上用户名和一个服务器或共享资源的多重连接解决方法
在linux下挂载linux的Smaba服务磁盘:
mount -t smbfs -o username=horseliu,password=123456 //192.168.1.44/data /debianIso
CREATE SEQUENCE sys_user_id_seq
INCREMENT BY 1
NO MAXVALUE
NO MINVALUE
CACHE 1;
ALTER TABLE public.sys_user_id_seq OWNER TO root;
ALTER SEQUENCE sys_user_id_seq OWNED BY sys_user.id;
SELECT pg_catalog.setval('sys_user_id_seq', 1, false);
SELECT pg_catalog.setval('sys_user_id_seq', 1, false);
pgAdmin中重新建立数据库,将编码由默认的改为EUC_CN
挂载到光驱:mount -o loop /data/debian5-1.iso /media/cdrom0
mount -o loop /data/debian5-4.iso /media/cdrom0
gtk 安装
apt-get install gnome-core-devel
apt-get install libglib2.0-doc libgtk2.0-doc
apt-get install devhelp
apt-get install glade-gnome glade-common glade-doc
安装图形:apt-get install gnome-core gdm
apt-get install gnome-themes gnome-icon-theme-dlg-neu gnome-backgrounds
关掉图形界面:/etc/init.d/gdm stop
让alsa把你的声卡驱动起来
#apt-get install alsa-base alsa-utils alsa-oss
#alsaconf #一路回车
安装gnome下的声音支持。
#apt-get install gnome-audio esound #esound是gnome下的软件混音器
其他工具
#apt-get install gnome-system-tools gconf-editor nautilus-open-terminal
gnome-system-tools 服务、网络等系统工具
gconf-editor 配置编辑器
nautilus-open-terminal 在右键菜单中加入终端
安装OpenOffice.org
#apt-get install openoffice.org-writer openoffice.org-calc openoffice.org-math openoffice.org-impress openoffice.org-gtk
#apt-get install openoffice.org-l10n-zh-cn openoffice.org-help-zh-cn #中文界面和中文帮助
解压:tar -xvf gcc-4.1.0.tar 或 tar -xvf *.tar (bz2)
tcpdump -i eth0 -n -s 0 port 5060 -vvv -w /home/capture_file_name
sipp测试 ./sipp 192.168.110.120:5060 -i 192.168.1.44 -p 6060 -sf meeting_g729_25.xml -inf 30meeting30.csv -m 30 -l 30 -timeout 30
./sipp 192.168.110.120:5060 -i 192.168.1.44 -sf meeting_g729_25.xml -inf 50meeting50.csv -m 50 -l 50 -timeout 300
./sipp -sf reg.xml -inf reg1.csv -p 6060 -i 192.168.1.44 -m 50 192.168.110.120:5060
./sipp -sf reg.xml -inf reg2.csv -p 6068 -i 192.168.1.58 -m 50 192.168.110.120:5060
./sipp -sf uas.xml -inf reg2.csv -p 6068 -i 192.168.1.58 -m 50 192.168.110.120:5060
./sipp -sf uac.xml -inf reg1.csv -p 6060 -i 192.168.1.44 -m 50 192.168.110.120:5060
测试命令: sar -ur -P ALL 1 1800 -o voip_meetme_integer_201012011426_atom
查看命令: sar -ur -f intergration_12011000 -s 09:54:54 -e 09:55:16
sar -ur -f intergration_12011000 -s 09:54:54 -e 09:55:16 > dddd.txt
cat atom_voip_24_record_2101011301422.txt | nawk '{print $4 - $6 -$7 }' | sort
cat agi.txt | nawk '{print $9 }' | sort
希网测试:lynx -mime_header -auth=tdcis:123456 "http://www.3322.org/dyndns/update?system=dyndns&hostname=tdcis.3322.org"
find . -name "*"|xargs grep '.pl'
grep -n "" -r./ /more
find . -name "*"|xargs grep '.pl'
grep -n "" -r./ /more
windos 格式文本 转unix vi下 set ff=unix把它强制为unix格式
ifconfig | awk '/Link encap:Ethernet/{print $1}'
./API_SetWanIP -t fix -w 192.168.1.26 -m 255.255.0.0 -g 192.168.1.10 -d 192.168.1.10,192.168.1.90
cvs环境变量设定:export CVSROOT=:pserver:horse_liu@192.168.1.233:/cvs/tdcis/develop
smarty 变量定义:{assign var="flag" value="1"} 使用: { if $flag ==1 }
pgsql 得到插入的最后 id (person为表名) execute("SELECT nextval('person_id_seq')"); execute("SELECT currval('person_id_seq')");
Action: GetConfig
Filename: gui_system.conf
Action: GetConfig
Filename: systema.conf
.在父窗口中操作 选中IFRAME中的所有单选钮
$(window.frames["iframe1"].document).find("input[@type='radio']").attr("checked","true");
2.在IFRAME中操作 选中父窗口中的所有单选钮
$(window.parent.document).find("input[@type='radio']").attr("checked","true");
οnclick="tipsWindown('Add User systemsetup','iframe:http://192.168.1.44/html/index.php?
menu=systemsetup&device=fxo&action=add','700','540','true','','true','text');"
console dial 1001
tar -cvf sipp.tar /var/www/sipp_ok_20100624/*
192.168.1.44 登陆
ftp 192.168.3.199
cd /sipp (此目录为192.168.3.199)
put /var/www/sipp_ok_20100624/sipp.tar(192.168.1.44) /sipp/sipp.tar (192.168.3.199)
tar xfv sipp.tar
tcp 抓rtp包: tcpdump -T rtp -vvv dst 192.168.110.111
pushmail 学习路径:/home/nick/work/tdcis/ap/pushmail/email
sudo apt-get install alien #alien默认没有安装,所以首先要安装它
sudo alien xxxx.rpm #将rpm转换位deb,完成后会生成一个同名的xxxx.deb
sudo dpkg -i xxxx.deb #安装
termcap apt-get install libncurses-dev
dahdi无法加载语音卡 须启动FIRMWARE /usr/share/dahdi/xpp_fxloader usb
pushmail: apt-get install libvmime-dev
apt-get install unix-odbc
apt-get install odbc-pgsql
libdbconn.so libsyslib.so
./sipp 192.168.110.111:5060 -i 192.168.1.44 -p 6060 -sf meeting_g729_25.xml -inf 30meeting30.csv -m 30 -l 30
./sipp -sf uac.xml -inf 50voip.csv -p 6060 -i 192.168.1.58 -m 50 192.168.110.111:5060
./sipp -sf uas.xml -inf 50voip.csv -p 6068 -i 192.168.3.183 -m 50 192.168.110.111:5060
tcpdump -T rtp -vvv dst 192.168.110.111
录音测试
tcpdump -T rtp -vvv dst 192.168.4.229 and src 192.168.110.111 -w /home/test2.pcap
tcpdump -T rtp -vvv src 192.168.110.111 and dst 192.168.4.229 -w /home/test
wireshark 测试:udp and src 192.168.4.229 and dst 192.168.110.111
(udp and src 192.168.4.229 and dst 192.168.110.111 ) or (udp and dst 192.168.4.229 and src 192.168.110.111 )
sar -r -f 20110123_30meetme -e 05:51:29
sar -r -f 20110124_24voip -e 08:18:56
sar -u -f 20110124_pushmail -s 09:36:37 -e 09:36:57
sar -r -f 20110124_all -s 09:56:49 -e 11:09:05
dd if=/dev/sda of=/dev/sdb1
diff -nur file1.txt file2.txt
sipp测试 ./sipp 192.168.110.120:5060 -sf meeting_g729_25.xml -inf 50meeting50.csv -m 50 -l 50 -timeout 300
希网测试:lynx -mime_header -auth=tdcis:123456 "http://www.3322.org/dyndns/update?system=dyndns&hostname=tdcis.3322.org"
find . -name "*"|xargs grep '.pl'
windos 格式文本 转unix vi下 set ff=unix把它强制为unix格式
ifconfig | awk '/Link encap:Ethernet/{print $1}'
./API_SetWanIP -t fix -w 192.168.1.26 -m 255.255.0.0 -g 192.168.1.10 -d 192.168.1.10,192.168.1.90
cvs环境变量设定:export CVSROOT=:pserver:horse_liu@192.168.1.233:/cvs/tdcis/develop
smarty 变量定义:{assign var="flag" value="1"} 使用: { if $flag ==1 }
pgsql 得到插入的最后 id (person为表名) execute("SELECT nextval('person_id_seq')"); execute("SELECT currval('person_id_seq')");
Action: GetConfig
Filename: gui_system.conf
Action: GetConfig
Filename: systema.conf
.在父窗口中操作 选中IFRAME中的所有单选钮
$(window.frames["iframe1"].document).find("input[@type='radio']").attr("checked","true");
2.在IFRAME中操作 选中父窗口中的所有单选钮
$(window.parent.document).find("input[@type='radio']").attr("checked","true");
οnclick="tipsWindown('Add User systemsetup','iframe:http://192.168.1.44/html/index.php?menu=systemsetup&device=fxo&action=add','700','540','true','','true','text');"
console dial 1001
我常用的vim,命令:
扩大窗口: res+10 res-10
格式化全文: gg=G
自动缩进当前行: ==
行号+G 跳转
* 查找
% 括号匹配
gf 查找.h
扩大窗口: res+10 res-10
格式化全文: gg=G
自动缩进当前行: ==
行号+G 跳转
* 查找
% 括号匹配
gf 查找.h
ctrl+N 代码补齐
ctrl+= 代码对齐
ctrl+w 窗口跳转
!+shell命令
ctrl+wr 窗口跳转
CTRL+S表示停止向终端输出; CTRL+Q恢复向终端输出.
:s/p1/p2/g 将当前行中所有p1均用p2替代,若要每个替换都向用户询问则应该用gc选项
:n1,n2s/p1/p2/g 将第n1至n2行中所有p1均用p2替代
:g/p1/s//p2/g 将文件中所有p1均用p2替换
Tab 向前跳 CTRL+o 向后跳 CTRL+} 跳到实现文件 gf 跳到头文件
ctrl+N 代码补齐
ctrl+= 代码对齐
ctrl+w 窗口跳转
!+shell命令
ctrl+wr 窗口跳转
vim 打tag: ctags -R .
set tag : vi .vimrc 加 set tags=/var/www/p/pttserver/tags
ctrl+Wr命令可以使得窗口向下进行循环移动。这个命令可以带一个数字作为参数,指明向下循环移动所执行的次数。与其相类似的ctrl+WR命令,可以使得窗口向上循环移动。
命令ctrl+Wx,可以将当前窗口与下一窗口进行位置对换。如果当前窗口在底部,则没有下一个窗口,这时命令将当前窗口与上一个窗口进行位置对换。
利用ctrl+WK可以将当前窗口放到最顶端;而ctrl+WJ可以把当前窗口放到最底部。
这个是原文节选:
14.6. How do I format/indent an entire file?
You can format/indent an entire file using the gg=G command, where
gg - Goto the beginning of the file
= - apply indentation
G - till end of file
For more information, read
:help gg
:help =
:help G
:help 'formatprg'
:help C-indenting
k 上
h l 左 右
j 下
^ 移动到该行第一个非空格的字符处
w 向前移动一个单词,将符号或标点当作单词处理
W 向前移动一个单词,不把符号或标点当作单词处理
b 向后移动一个单词,把符号或标点当作单词处理
B 向后移动一个单词,不把符号或标点当作单词处理
( 光标移至句首
) 光标移至句尾
{ 光标移至段落开头
} 光标移至段落结尾
H 光标移至屏幕顶行
M 光标移至屏幕中间行
L 光标移至屏幕最后行
0 到行首
$ 到行尾
gg 到页首
G 到页末
行号+G 跳转到指定行
n+ 光标下移n行
n- 光标上移n行
Ctrl+g 查询当前行信息和当前文件信息
fx 向右跳到本行字符x处(x可以是任何字符)
Fx 向左跳到本行字符x处(x可以是任何字符)
tx 和fx相同,区别是跳到字符x前
Tx 和Fx相同,区别是跳到字符x后
C-b 向上滚动一屏
C-f 向下滚动一屏
C-u 向上滚动半屏
C-d 向下滚动半屏
C-y 向上滚动一行
C-e 向下滚动一行
nz 将第n行滚至屏幕顶部,不指定n时将当前行滚至屏幕顶部。
进入和退出Vi命令
vi filename 打开或新建文件,并将光标置于第一行首
vi +n filename 打开文件,并将光标置于第n行首
vi + filename 打开文件,并将光标置于最后一行首
vi +/pattern filename 打开文件,并将光标置于第一个与pattern匹配的串处
vi -r filename 在上次正用vi编辑时发生系统崩溃,恢复filename
vi filename ... filename 打开多个文件,依次进行编辑
ZZ 退出vi并保存
:q! 退出vi,不保存
:wq 退出vi并保存
重复操作
. 重复上一次操作
自动补齐
C-n 匹配下一个关键字
C-p 匹配上一个关键字
插入
o 在光标下方新开一行并将光标置于新行行首,进入插入模式。
O 同上,在光标上方。
a 在光标之后进入插入模式。
A 同上,在光标之前。
R 进入替换模式,直到按下Esc
set xxx 设置XXX选项。
行合并
J 把下面一行合并到本行后面
Vi中查找及替换命令
/pattern 从光标开始处向文件尾搜索pattern
?pattern 从光标开始处向文件首搜索pattern
n 在同一方向重复上一次搜索命令
N 在反方向上重复上一次搜索命令
% 查找配对的括号
:s/p1/p2/g 将当前行中所有p1均用p2替代,若要每个替换都向用户询问则应该用gc选项
:n1,n2s/p1/p2/g 将第n1至n2行中所有p1均用p2替代
:g/p1/s//p2/g 将文件中所有p1均用p2替换
.*[]^%~$ 在Vi中具有特殊含义,若需要查找则应该加上转义字符"/"
查找的一些选项
设置高亮
:set hlsearch 设置高亮
:set nohlsearch 关闭高亮
:nohlsearch 关闭当前已经设置的高亮
增量查找
:set incsearch 设置增量查找
:set noincsearch 关闭增量查找
在Vi中删除
x 删除当前光标下的字符
dw 删除光标之后的单词剩余部分。
d$ 删除光标之后的该行剩余部分。
dd 删除当前行。
c 功能和d相同,区别在于完成删除操作后进入INSERT MODE
cc 也是删除当前行,然后进入INSERT MODE
更改字符
rx 将当前光标下的字符更改为x(x为任意字符)
~ 更改当前光标下的字符的大小写
键盘宏操作
qcharacter 开始录制宏,character为a到z的任意字符
q 终止录制宏
@character 调用先前录制的宏
恢复误操作
u 撤销最后执行的命令
U 修正之前对该行的操作
Ctrl+R Redo
在Vi中操作Frame
c-w c-n 增加frame
c-w c-c 减少frame
c-w c-w 切换frame
c-w c-r 交换两个frame
VIM中的块操作
Vim支持多达26个剪贴板
选块 先用v,C-v,V选择一块,然后用y复制,再用p粘贴。
yy 复制当前整行
nyy 复制当前行开始的n行内容
?nyy 将光标当前行及其下n行的内容保存到寄存器?中,其中?为一个字母,n为一个数字
?nyw 将光标当前行及其下n个词保存到寄存器?中,其中?为一个字母,n为一个数字
?nyl 将光标当前行及其下n个字符保存到寄存器?中,其中?为一个字母,n为一个数字
?p 将寄存器?中的内容粘贴到光标位置之后。如果?是用yy复制的完整行,
则粘贴在光标所在行下面。这里?可以是一个字母,也可以是一个数字
?P 将寄存器a中的内容粘贴到光标位置之前。如果?是用yy复制的完整行,
则粘贴在光标所在行上面。这里?可以是一个字母,也可以是一个数字
ay[motion]
ay$ 复制光标位置到行末并保存在寄存器a中
ayft 复制光标位置到当前行第一个字母t并保存在寄存器a中
以上指令皆可去掉a工作,则y,p对未命名寄存器工作(所有d,c,x,y的对象都被保存在这里)。
剪切/复制/粘贴
所有删除的内容自动被保存,可以用p键粘贴
Vi的选项设置
all 列出所有选项设置情况
term 设置终端类型
ignorance 在搜索中忽略大小写
list 显示制表位(Ctrl+I)和行尾标志($)
number 显示行号
report 显示由面向行的命令修改过的数目
terse 显示简短的警告信息
warn 在转到别的文件时若没保存当前文件则显示NO write信息
nomagic 允许在搜索模式中,使用前面不带“/”的特殊字符
nowrapscan 禁止vi在搜索到达文件两端时,又从另一端开始
mesg 允许vi显示其他用户用write写到自己终端上的信息
tips
对代码自动格式化 gg=G
1。打开终端,在其上输入“ sudo vim /etc/vim/vimrc ”,此时会有如下显示(以 Ubuntun 8。10为例)
" All system-wide defaults are set in $VIMRUNTIME/debian.vim (usually just
" /usr/share/vim/vimcurrent/debian.vim) and sourced by the call to :runtime
" you can find below. If you wish to change any of those settings, you should
" do it in this file (/etc/vim/vimrc), since debian.vim will be overwritten
" everytime an upgrade of the vim packages is performed. It is recommended to
" make changes after sourcing debian.vim since it alters the value of the
" 'compatible' option.
" This line should not be removed as it ensures that various options are
" properly set to work with the Vim-related packages available in Debian.
runtime! debian.vim
" Uncomment the next line to make Vim more Vi-compatible
" NOTE: debian.vim sets 'nocompatible'. Setting 'compatible' changes numerous
" options, so any other options should be set AFTER setting 'compatible'.
"set compatible
" Vim5 and later versions support syntax highlighting. Uncommenting the next
" line enables syntax highlighting by default.
syntax on
" If using a dark background within the editing area and syntax highlighting
" turn on this option as well
"set background=dark
" Uncomment the following to have Vim jump to the last position when
" reopening a file
"if has("autocmd")
" au BufReadPost * if line("'/"") > 0 && line("'/"") <= line("$")
" /| exe "normal! g'/"" | endif
"endif
" Uncomment the following to have Vim load indentation rules according to the
" detected filetype. Per default Debian Vim only load filetype specific
" plugins.
"if has("autocmd")
" filetype indent on
"endif
" The following are commented out as they cause vim to behave a lot
" differently from regular Vi. They are highly recommended though.
"set showcmd " Show (partial) command in status line.
set showmatch " Show matching brackets.
"set ignorecase " Do case insensitive matching
"set smartcase " Do smart case matching
"set incsearch " Incremental search
"set autowrite " Automatically save before commands like :next and :make
"set hidden " Hide buffers when they are abandoned
"set mouse=a " Enable mouse usage (all modes) in terminals
" Source a global configuration file if available
" XXX Deprecated, please move your changes here in /etc/vim/vimrc
if filereadable("/etc/vim/vimrc.local")
source /etc/vim/vimrc.local
endif
set nu
set autoindent
set cindent
"set fdm=indent "代码折叠(我加的)
set hlsearch "高亮显示所有匹配
set lbr "设置换行会在单词之前的空格,不会拆开单词
set nobackup "设置不生成备份文件
colorscheme elflord "缺省配色方案为elford
这里要解释一下:"----------该符号属于注释符,相当于把后面的语句注释掉
2。在终端模式下,这时你输入不了,在英文输入状态下敲击键盘“ A ”键进行插入(输入)
3。在文件中找到 "syntax on 这一行,去掉前面的双引号",双引号是注释的意思。
4。添加如下所示代码即可(这些要加在文件的最低端,见上面显示代码<英文部分>(1。行下面))
set nu
set autoindent
set cindent
"set fdm=indent "代码折叠(我加的)
set hlsearch "高亮显示所有匹配
set lbr "设置换行会在单词之前的空格,不会拆开单词
set nobackup "设置不生成备份文件
colorscheme elflord "缺省配色方案为elford
有一种特殊的启动 Vim 的方法s可以用来显示两个文件的差异。让我们打开一个 "main.c"
并插入一些字符。在设置了 'backup' 选项的情况下保存这个文件,以便产生 "main.c~"
备份文件。
在命令行中输入如下命令:(不是在 Vim 中)
vimdiff main.c~ main.c
Vim 会用垂直分割的方式打开两个文件。你只能看到你修改过的地方和上下几行的地方。
VV VV
+-----------------------------------------+
|+ +--123 lines: /* a|+ +--123 lines: /* a| <- 折叠
| text | text |
| text | text |
| text | text |
| text | changed text | <- 修改过的行
| text | text |
| text | ------------------| <- 删除的行
| text | text |
| text | text |
| text | text |
|+ +--432 lines: text|+ +--432 lines: text| <- 折叠
| ~ | ~ |
| ~ | ~ |
|main.c~==============main.c==============|
| |
+-----------------------------------------+
(这幅图没有显示出高亮效果,可以使用 vimdiff 命令看到更好的效果)
那些没有修改的行会被折叠成一行,这称为 "关闭的折叠" (closed fold)。上图中
由 "<- 折叠" 标记的行就是一个用一行表示 123 行的折叠。这些行在两个文件中完全相
同。
标记为 "<- 修改过的行" 被高亮显示,而增加的行被用另一种颜色表示。这可以很
清楚地表示出两个文件间的不同。
被删除的行在 main.c 窗口中用 "---" 显示,如图中用 "<- 删除的行" 标记的行。
这些字符并不是真的存在。它们只是用于填充 main.c,以便与另一个窗口对齐。
最后
以上就是无奈马里奥为你收集整理的 我常用的命令的全部内容,希望文章能够帮你解决 我常用的命令所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复