??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲最大的黄色网,亚洲精品无码久久,国产亚洲成人在线播放vahttp://m.tkk7.com/zdq5337/category/50319.htmlI山无hQ水花开?/description>zh-cnThu, 24 Aug 2017 09:41:15 GMTThu, 24 Aug 2017 09:41:15 GMT60Flask应用上下文应用:(x)application not registered on db instance and no application bound to current contexthttp://m.tkk7.com/zdq5337/articles/432768.html开花流?/dc:creator>开花流?/author>Wed, 23 Aug 2017 10:28:00 GMThttp://m.tkk7.com/zdq5337/articles/432768.htmlhttp://m.tkk7.com/zdq5337/comments/432768.htmlhttp://m.tkk7.com/zdq5337/articles/432768.html#Feedback0http://m.tkk7.com/zdq5337/comments/commentRss/432768.htmlhttp://m.tkk7.com/zdq5337/services/trackbacks/432768.htmlflask web应用l常?x)有异步timer或者定时Q务的需求,单独开启的q程?x)因Z在context环境理而报?/div>
解决Ҏ(gu),flask0.9以后Q在代码块前引用Q?/div>
with app.app_context():


]]>l数那些令h发狂的程序语a的特?http://m.tkk7.com/zdq5337/articles/366930.html开花流?/dc:creator>开花流?/author>Wed, 21 Dec 2011 06:49:00 GMThttp://m.tkk7.com/zdq5337/articles/366930.htmlhttp://m.tkk7.com/zdq5337/comments/366930.htmlhttp://m.tkk7.com/zdq5337/articles/366930.html#Feedback0http://m.tkk7.com/zdq5337/comments/commentRss/366930.htmlhttp://m.tkk7.com/zdq5337/services/trackbacks/366930.html

q些最为奇怪的E序语言的特性,来自stackoverflow.comQ原贴在q里。我摘选了一些例子,的确是比较怪异Q让我们一个一个来看看?/p>

1、C语言中的数组

在C/C++中,a[10] 可以写成 10[a]

“Hello World”[i] 也可以写?nbsp;i["Hello World"] 

2、在Javascript?nbsp;

 ’5′ + 3 的结果是Q?#8217;53′

 ’5′ – 3 的结果是Q?              更多javascript点击q里

3、C/C++中的Trigraphs 

Cpp代码  收藏代码
  1. int main() {  
  2.     cout << "LOL??!";  
  3. }  

 上面的这D늨序会(x)输出Q?nbsp;“LOL|”Q这是因???! 被{成了 | Q关于TrigraphsQ下面有个表|(x) 

??= #
??( [
??/ \
??) ]
??’ ^
??< {
??! |
??> }
??- ~

4、JavaScript 的条件表 

看到下面q个表,不难理解Z么JavascriptE序员ؓ(f)什么痛苦了

Js代码  收藏代码
  1. ''        ==   '0'          //false  
  2. 0         ==   ''           //true  
  3. 0         ==   '0'          //true  
  4. false     ==   'false'      //false  
  5. false     ==   '0'          //true  
  6. false     ==   undefined    //false  
  7. false     ==   null         //false  
  8. null      ==   undefined    //true  
  9. " \t\r\n" ==   0            //true  

 

5、Java的Integer cache

Java代码  收藏代码
  1. Integer foo = 1000;  
  2. Integer bar = 1000;  
  3.   
  4. foo <= bar; // true  
  5. foo >= bar; // true  
  6. foo == bar; // false  
  7.   
  8. //然后Q如果你?nbsp;foo ?nbsp;bar 的值在 127 ?nbsp;-128 之间Q包括)  
  9. //那么Q其行ؓ(f)则改变了Q?nbsp; 
  10.   
  11. Integer foo = 42;  
  12. Integer bar = 42;  
  13.   
  14. foo <= bar; // true  
  15. foo >= bar; // true  
  16. foo == bar; // true  

Z么会(x)q样呢?你需要了解一下Java Interger CacheQ下面是相关的程序,注意其中的注?/p>

Java代码  收藏代码
  1. /** 
  2.  
  3.      * Returns a <tt>Integer</tt> instance representing the specified 
  4.  
  5.      * <tt>int</tt> value. 
  6.  
  7.      * If a new <tt>Integer</tt> instance is not required, this method 
  8.  
  9.      * should generally be used in preference to the constructor 
  10.      * <a href="mailto:{@link">{@link</a> #Integer(int)}, as this method is likely to yield 
  11.      * significantly better space and time performance by caching 
  12.      * frequently requested values. 
  13.      * 
  14.      * @param  i an <code>int</code> value. 
  15.      * @return a <tt>Integer</tt> instance representing <tt>i</tt>. 
  16.      * @since  1.5 
  17.      */  
  18.     public static Integer valueOf(int i) {  
  19.         if(i >= -128 && i <= IntegerCache.high)  
  20.             return IntegerCache.cache[i + 128];  
  21.         else  
  22.             return new Integer(i);  
  23.     }  

5、Perl的那些奇怪的变量

Php代码  收藏代码
  1. $.  
  2. $_  
  3. $_#  
  4. $$  
  5. $[  
  6. @_  

 其所有的q些怪异的变量请参看Q?a style="color: #2970a6; text-decoration: none" >http://www.kichwa.com/quik_ref/spec_variables.html

 

6、Java的异常返?/h2>

L(fng)下面q段E序Q你觉得其返回trueq是falseQ?/p>

Java代码  收藏代码
  1. try {  
  2.     return true;  
  3. finally {  
  4.     return false;  
  5. }  

 ?nbsp;javascript 和python下,其行为和Java的是一L(fng)?nbsp;

7、C语言中的Duff device

下面的这D늨序你能看得懂吗?q就是所谓的Duff DeviceQ相当的怪异?/p>

C代码  收藏代码
  1. void duff_memcpy( char* to, char* from, size_t count ) {  
  2.     size_t n = (count+7)/8;  
  3.     switch( count%8 ) {  
  4.     case 0: do{ *to++ = *from++;  
  5.     case 7:     *to++ = *from++;  
  6.     case 6:     *to++ = *from++;  
  7.     case 5:     *to++ = *from++;  
  8.     case 4:     *to++ = *from++;  
  9.     case 3:     *to++ = *from++;  
  10.     case 2:     *to++ = *from++;  
  11.     case 1:     *to++ = *from++;  
  12.             }while(--n>0);  
  13.     }  
  14. }   

8、PHP中的字符串当函数?/h2>

PHP中的某些用法也是很怪异?/p>

Php代码  收藏代码
  1. $x = "foo";  
  2. function foo(){ echo "wtf"; }  
  3. $x();  

9、在C++中,你可以用空指针调用静态函?/h2>
Cpp代码  收藏代码
  1. class Foo {  
  2.   public:  
  3.     static void bar() {  
  4.       std::cout << "bar()" << std::endl;  
  5.     }  
  6. };  

呵呵。的是挺怪异的?

转自iteye
http://justjavac.iteye.com/blog/1297756


]]>
vim基本命o(h)http://m.tkk7.com/zdq5337/articles/366325.html开花流?/dc:creator>开花流?/author>Wed, 14 Dec 2011 05:33:00 GMThttp://m.tkk7.com/zdq5337/articles/366325.htmlhttp://m.tkk7.com/zdq5337/comments/366325.htmlhttp://m.tkk7.com/zdq5337/articles/366325.html#Feedback0http://m.tkk7.com/zdq5337/comments/commentRss/366325.htmlhttp://m.tkk7.com/zdq5337/services/trackbacks/366325.htmlvim
#在命令行中输入vim,q入vim~辑?br />2.
i
#按一下i?下端昄 --INSERT--
#插入命o(h),在vim中可能Q意字W都有作?br />3.
Esc
#退出i(插入)命o(h)q行其它命o(h)使用
4.
:r filename
#d一个文件内?q写入到当前~辑器中
5.
:w newfilename
#该~辑器中的内容写入到一个新文g?br />
6.
:w
#在编辑的q程中保存文?相当于word中的ctrl+s
7.
:! command
暂时d vi 到指令列模式下执?command 的显C结果!例如
:!ls
#在编辑过E中执行shell命o(h)ls
8.
:sh
#q入shell命o(h)?执行完命令后ctrl+d退出重新进入vim~辑l箋~辑

在shell命o(h)下,执行ctral+l完成清屏
9.
:wq
#保存文gq?br />10.
ZZ
#保存文gq?同上一个命?注意大写
11.
:q!
#强制退?不保?br />12.
:set number或者:(x)set nu
#使编辑中的文件显C?br />13.
:set nonumber或者:(x)set nonu
#与上一条命令相?不显C?br />14.
:help i
#查看插入命o(h)帮助
15.
u
#撤消上一步操?br />16.
/Fedora
#查找Fedora字符
17.
:s /Fedora/Redhat
#Fedora字符替换为Redhat(只替换在光标所在的?
18.
dw
#删除单词
dd
#删除?br />19.
o
#打开I白一?br />20.
vim + filename
#q行文g最后一行进行编?br />21.
vim +n filename
#q入文gWn行进行编?br />22.
:1,.s/redhat/fedora
#.可C当前行,卛_标所在行
#第1行到当前?.)W一ơ出现的redhat字符代替为fedora
23.
:1,.s/redhat/fedora/g
#第1行到当前?.)所有出现的redhat字符代替为fedora,g
全局标志
24.
:1,$s/redhat/fedora/g
#$表示最后一?br />#第1行到最后一行所有出现的redhat字符代替为fedora
25.
:%s/redhat/fedora/g
#同上一个命?br />26.
:%s/\/fedora/g
#第1行到最后一行所有出现的redhat字代替ؓ(f)fedora
#?而不是字W?br />27.
:f
#昄文g内容,状态等{?br />#同ctrl+g命o(h)
28.
:e!
#当前文g,q回Cơ保?br />:e file
#切换~辑文g
29.
:n
#当编辑时有多个文?比如vim file1 file2)时切换到下一个文??e file
l合使用




                              

                             VIM命o(h)大全
光标控制命o(h)
命o(h)                   光标Ud
h                   向左UM个字W?br />j                   向下UM?br />k                   向上UM?br />l                   向右UM个字W?br />G                   Ud文g的最后一?br />w                   Ud下一个字的开?br />W                   Ud下一个字的开_(d)忽略标点W号
b                   Ud前一个字的开?br />B                   Ud前一个字的开_(d)忽略标点W号
L                   Ud屏幕的最后一?br />M                   Ud屏幕的中间一?br />H                   Ud屏幕的第一?br />e                   Ud下一个字的结?br />E                   Ud下一个字的结,忽略标点W号
(                       Ud句子的开?br />)                       Ud句子的结?br />{                       UdD落的开?br />}                       Ud下一个段落的开?br />0(数字), |                Ud当前行的W一?br />^                       Ud当前行的W一个非I字W?br />$                       Ud当前行的最后一个字W?br />+, Enter             Ud下一行的W一个字W?br />-                       Ud前一行的W一个非I字W?br />?vi 中添加文?br />命o(h)                   插入动作
a                   在光标后插入文本
A                   在当前行插入文本
i                   在光标前插入文本
I                   在当前行前插入文?br />o                   在当前行的下Ҏ(gu)入新?br />O                   在当前行的上Ҏ(gu)入新?br />s                   删除光标所在处字符Qƈq入插入模式
S                   删除光标所在的行,q进入插入模?br />:r file             d文g file 内容Qƈ插在当前行后
:nr file            d文g file 内容Qƈ插在W?n 行后
Esc                 回到命o(h)模式
^v char             插入时忽?char 的指定意义,q是Z插入Ҏ(gu)字符
?vi 中删除文?br />命o(h)                   删除操作
x                   删除光标处的字符
dw                  删至下一个字的开?br />dG                  删除行,直到文gl束
dd                  删除整行
db                  删除光标前面的字
:n,md               从第 m 行开始往前删?n ?br />d, d$               从光标处删除到行?br />^h, backspace       插入Ӟ删除前面的字W?br />^w                  插入Ӟ删除前面的字
修改 vi 文本
每个命o(h)前面的数字表C命o(h)重复的次?br />命o(h)                               替换操作
rchar                         ?char 替换当前字符
R text escape                 ?text 替换当前字符直到按下 Esc ?br />stext escape                  ?text 代替当前字符
S ?cctext escape             ?text 代替整行
cwtext escape                 当前字改ؓ(f) text
Ctext escape                  当前行余下的改?text
cG escape                     修改x件的末尾
ccursor_cmd text escape       从当前位|处到光标命令位|处都改?text
?vi 中查找与替换
命o(h)                               查找与替换操?br />/text                         在文件中向前查找 text
?text                         在文件中向后查找 text
n                             在同一方向重复查找
N                             在相反方向重复查?br />ftext                         在当前行向前查找 text
Ftext                         在当前行向后查找 text
ttext                         在当前行向前查找 textQƈ光标定位在 text 的第一个字W?br />Ttext                         在当前行向后查找 textQƈ光标定位在 text 的第一个字W?br />:set ic                       查找时忽略大写
:set noic                     查找时对大小写敏?br />:ranges/pat1/pat2/g           ?newtext 替换 oldtext
:m,ns/oldtext/newtext         ?m 行通过 nQ用 newtext 替换 oldtext
&                                  重复最后的 :s 命o(h)
:g/text1/s/text2/text3        查找包含 text1 的行Q用 text3 替换 text2
:g/text/command               在所有包?text 的行q行 command 所表示的命?br />:v/text/command               在所有不包含 text 的行q行 command 所表示的命?br />?vi 中复制文?br />命o(h)                      复制操作
yy                    当前行的内Ҏ(gu)入(f)时缓冲区
nyy                   ?n 行的内容攑օ临时~冲?br />p                     (f)时缓冲区中的文本攑օ光标?br />P                     (f)时缓冲区中的文本攑օ光标?br />"(a-z)nyy             复制 n 行放入名字ؓ(f)圆括号内的可命名~冲区,省略 n 表示当前?br />"(a-z)ndd             删除 n 行放入名字ؓ(f)圆括号内的可命名~冲区,省略 n 表示当前?br />"(a-z)p               名字ؓ(f)圆括L(fng)可命名缓冲区的内Ҏ(gu)入当前行?br />"(a-z)P               名字ؓ(f)圆括L(fng)可命名缓冲区的内Ҏ(gu)入当前行?br />?vi 中撤消与重复
命o(h)               撤消操作
u               撤消最后一ơ修?br />U               撤消当前行的所有修?br />.                  重复最后一ơ修?br />,                  以相反的方向重复前面?f、F、t ?T 查找命o(h)
;                  重复前面?f、F、t ?T 查找命o(h)
"np             取回最后第 n ơ的删除(~冲Z存有一定次数的删除内容Q一般ؓ(f) 9)
n               重复前面?/ ?? 查找命o(h)
N               以相反方向重复前面的 / ?? 命o(h)
保存文本和退?vi
命o(h)                      保存?或退出操?br />:w                    保存文g但不退?vi
:w file               修改保存在 file 中但不退?vi
:wq ?ZZ ?:x         保存文gq?vi
:q!                   不保存文Ӟ退?vi
:e!                   攑ּ所有修改,从上ơ保存文件开始再~辑
vi 中的选项
选项                      作用
:set all              打印所有选项
:set nooption         关闭 option 选项
:set nu               每行前打印行?br />:set showmode         昄是输入模式还是替换模?br />:set autoindent          l承前一行的~进方式Q特别适用于多行注?br />:set smartindent        为CE序提供自动~进
:set list             昄制表W?^I)和行?br />:set ts=8             为文本输入设|?tab stops
:set window=n         讄文本H口昄 n ?br />:set number           昄行数
:set nonumber         取消昄行数
vi 的状?br />选项                   作用
:.=                     打印当前行的行号
:=                     打印文g中的行数
ctrl+g             昄文g名、当前的行号、文件的总行数和文g位置的百分比
:l                 使用字母 "l" 来显C多的Ҏ(gu)字符Q如制表W和换行W?br />在文本中定位D落和放|标?br />选项                      作用
{                         在第一列插?{ 来定义一个段?br />[[                         回到D落的开头处
]]                         向前Ud下一个段落的开头处
m(a-z)                用一个字母来标记当前位置Q如?mz 表示标记 z
'(a-z)                光标移动到指定的标讎ͼ如用 'z 表示Ud?z
?vi 中连接行
选项                      作用
J                     下一行连接到当前行的末尾
nJ                    q接后面 n ?br />光标攄与屏q调?br />选项                      作用
H                     光标移动到屏幕的顶?br />nH                    光标移动到屏幕行下的W?n ?br />M                     光标移动到屏幕的中?br />L                     光标移动到屏幕的底?br />nL                    光标移动到屏幕底行上的W?n ?br />^e(ctrl+e)            屏q上滚一?br />ctrl+y                屏q下滚一?br />ctrl+u                屏q上滚半?br />ctrl+d                屏q下滚半?br />ctrl+b                屏q上滚一?br />ctrl+f                屏q下滚一?br />ctrl+l                重绘屏幕
z-return              当前行|ؓ(f)屏幕的顶?br />nz-return             当前行下的W?n 行置为屏q的行
z.                    当前行|ؓ(f)屏幕的中?br />nz.                   当前行上的W?n 行置为屏q的中央
z-                    当前行|ؓ(f)屏幕的底?br />nz-                   当前行上的W?n 行置为屏q的底行
vi 中的 shell 转义命o(h)
选项                      作用
:!command             执行 shell ?command 命o(h)Q如 :!ls
:!!                         执行前一?shell 命o(h)
:r!command            d command 命o(h)的输入ƈ插入Q如 :r!ls ?x)先执?lsQ然后读入内?br />:w!command            当前已~辑文g作ؓ(f) command 命o(h)的标准输入ƈ执行 command 命o(h)Q如 :w!grep all
:cd directory         当前工作目录更改ؓ(f) directory 所表示的目?br />:sh                   启动一个子 shellQ?^d(ctrl+d) q回 vi
:so file              ?shell E序 file 中读入和执行命o(h)
vi 中的宏与~写
(避免使用控制键和W号Q不要用字W?K、V、g、q、v?? 和功能键)
选项                      作用
:map key command_seq 定义一个键来运?command_seqQ如 :map e eaQ无Z么时候都可以 e Ud一个字的末来q加文本
:map                  在状态行昄所有已定义的宏
:umap key             删除该键的宏
:ab string1 string2   定义一个羃写,使得当插?string1 Ӟ?string2 替换 string1。当要插入文本时Q键?string1 然后?Esc 键,pȝ插入了 string2
:ab                   昄所有羃?br />:una string           取消 string 的羃?br />?vi 中羃q文?br />选项                     作用
ctrl+i?tab     插入文本Ӟ插入Ud的宽度,Ud宽度是事先定义好?br />:set ai               打开自动~进
:set sw=n             移动宽度设|ؓ(f) n 个字W?br />n>                   ?n 行都向右Ud一个宽度,例如 3>> 将接下来的三行每行都向右移动一个移动宽?br />

]]>
linux下vi命o(h)大全【{?/title><link>http://m.tkk7.com/zdq5337/articles/365887.html</link><dc:creator>开花流?/dc:creator><author>开花流?/author><pubDate>Thu, 08 Dec 2011 07:25:00 GMT</pubDate><guid>http://m.tkk7.com/zdq5337/articles/365887.html</guid><wfw:comment>http://m.tkk7.com/zdq5337/comments/365887.html</wfw:comment><comments>http://m.tkk7.com/zdq5337/articles/365887.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/zdq5337/comments/commentRss/365887.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/zdq5337/services/trackbacks/365887.html</trackback:ping><description><![CDATA[<div class="oyuwiym" id="cnblogs_post_body"> <p>q入vi的命?<br />vi filename :打开或新建文Ӟq将光标|于W一行首 <br />vi +n filename Q打开文gQƈ光标置于第n行首 <br />vi + filename Q打开文gQƈ光标置于最后一行首 <br />vi +/pattern filenameQ打开文gQƈ光标置于第一个与pattern匚w的串?<br />vi -r filename Q在上次正用vi~辑时发生系l崩溃,恢复filename <br />vi filename....filename Q打开多个文gQ依ơ进行编?<br /><br />Ud光标cd?br />h Q光标左UM个字W?<br />l Q光标右UM个字W?<br />spaceQ光标右UM个字W?<br />BackspaceQ光标左UM个字W?<br />k或Ctrl+pQ光标上UM?<br />j或Ctrl+n Q光标下UM?<br />Enter Q光标下UM?<br />w或W Q光标右UM个字臛_?<br />b或B Q光标左UM个字臛_?<br />e或E Q光标右UM个字臛_?<br />) Q光标移臛_?<br />( Q光标移臛_?<br />}Q光标移x落开?<br />{Q光标移x落结?<br />nGQ光标移至第n行首 <br />n+Q光标下Un?<br />n-Q光标上Un?<br />n$Q光标移至第n行尾 <br />H Q光标移臛_q顶?<br />M Q光标移臛_q中间行 <br />L Q光标移臛_q最后行 <br />0Q(注意是数字零Q光标移臛_前行?<br />$Q光标移臛_前行?<br /><br />屏幕Lcd?<br />Ctrl+uQ向文g首翻半屏 <br />Ctrl+dQ向文g半屏 <br />Ctrl+fQ向文g一?<br />CtrlQbQ向文g首翻一?<br />nzQ将Wn行滚臛_q顶部,不指定n时将当前行滚臛_q顶部?<br /><br />插入文本cd?<br />i Q在光标?<br />I Q在当前行首 <br />aQ光标后 <br />AQ在当前行尾 <br />oQ在当前行之下新开一?<br />OQ在当前行之上新开一?<br />rQ替换当前字W?<br />RQ替换当前字W及(qing)其后的字W,直至按ESC?<br />sQ从当前光标位置处开始,以输入的文本替代指定数目的字W?<br />SQ删除指定数目的行,q以所输入文本代替?<br />ncw或nCWQ修Ҏ(gu)定数目的?<br />nCCQ修Ҏ(gu)定数目的?<br /><br />删除命o(h) <br />ndw或ndWQ删除光标处开始及(qing)其后的n-1个字 <br />doQ删臌?<br />d$Q删臌?<br />nddQ删除当前行?qing)其后n-1?<br />x或XQ删除一个字W,x删除光标后的Q而X删除光标前的 <br />Ctrl+uQ删除输入方式下所输入的文?<br /><br />搜烦?qing)替换命?<br />/patternQ从光标开始处向文件尾搜烦pattern <br />?patternQ从光标开始处向文仉搜烦pattern <br />nQ在同一方向重复上一ơ搜索命?<br />NQ在反方向上重复上一ơ搜索命?<br />Qs/p1/p2/gQ将当前行中所有p1均用p2替代 <br />Qn1,n2s/p1/p2/gQ将Wn1至n2行中所有p1均用p2替代 <br />Qg/p1/s//p2/gQ将文g中所有p1均用p2替换 <br /><br />选项讄 <br />allQ列出所有选项讄情况 <br />termQ设|终端类?<br />ignoranceQ在搜烦中忽略大写 <br />listQ显C制表位(Ctrl+I)和行标志($) <br />numberQ显C?<br />reportQ显C由面向行的命o(h)修改q的数目 <br />terseQ显C简短的警告信息 <br />warnQ在转到别的文g时若没保存当前文件则昄NO write信息 <br />nomagicQ允许在搜烦模式中,使用前面不带“\”的特D字W?<br />nowrapscanQ禁止vi在搜索到达文件两端时Q又从另一端开?<br />mesgQ允许vi昄其他用户用write写到自己l端上的信息 <br /><br />最后行方式命o(h) <br />Qn1,n2 co n3Q将n1行到n2行之间的内容拯到第n3行下 <br />Qn1,n2 m n3Q将n1行到n2行之间的内容U至到第n3行下 <br />Qn1,n2 d Q将n1行到n2行之间的内容删除 <br />Qw Q保存当前文?<br />Qe filenameQ打开文gfilenameq行~辑 <br />QxQ保存当前文件ƈ退?<br />QqQ退出vi <br />Qq!Q不保存文gq出vi <br />Q?commandQ执行shell命o(h)command <br />Qn1,n2 w!commandQ将文g中n1行至n2行的内容作ؓ(f)command的输入ƈ执行之,若不指定n1Qn2Q则表示整个文件内容作为command的输?<br />Qr!commandQ将命o(h)command的输出结果放到当前行 <br /><br />寄存器操?<br />"?nyyQ将当前行及(qing)其下n行的内容保存到寄存器Q中Q其?Z个字母,nZ个数?<br />"?nywQ将当前行及(qing)其下n个字保存到寄存器Q中Q其?Z个字母,nZ个数?<br />"?nylQ将当前行及(qing)其下n个字W保存到寄存器?中,其中?Z个字母,nZ个数?<br />"?pQ取出寄存器Q中的内容ƈ其攑ֈ光标位置处。这里?可以是一个字母,也可以是一个数?<br />nddQ将当前行及(qing)其下共n行文本删除,q将所删内Ҏ(gu)?号删除寄存器中?br /><br />VI的?br />--------------------------------------------------------------------------------<br /><br />一、插入文?<br />┌──┬────────────┐ <br />│命o(h)│描述          │ <br />├──┼────────────┤ <br />│i  │在当前字W前插入文本  │ <br />├──┼────────────┤ <br />│I  │在行首插入文?     │ <br />├──┼────────────┤ <br />│a  │在当前字W后d文本  │ <br />├──┼────────────┤ <br />│A  │在行末添加文本     │ <br />├──┼────────────┤ <br />│o  │在当前行后面插入一I │ <br />├──┼────────────┤ <br />│O  │在当前行前面插入一I │ <br />├──┼────────────┤ <br />│R  │以改写方式输入文本   │ <br />└──┴────────────┘ <br />二、移动光?<br />┌─────┬───────────┐ <br />│命o(h)   │描述         │ <br />├─────┼───────────┤ <br />│j或下头 │向下Ud一行     │ <br />├─────┼───────────┤ <br />│k或上头 │向上Ud一行     │ <br />├─────┼───────────┤ <br />│h或左头 │左移一个字W     │ <br />├─────┼───────────┤ <br />│l或右头 │右移一个字W     │ <br />├─────┼───────────┤ <br />│w     │右移一个词      │ <br />├─────┼───────────┤ <br />│W     │右移一个以I格分隔的词│ <br />├─────┼───────────┤ <br />│b     │左移一个词      │ <br />├─────┼───────────┤ <br />│B     │左移一个以I格分隔的词│ <br />├─────┼───────────┤ <br />│0     │Ud行首       │ <br />│Ctrl-F  │向前页       │ <br />├─────┼───────────┤ <br />│Ctrl-B  │向后页       │ <br />├─────┼───────────┤ <br />│nG    │到第n?       │ <br />├─────┼───────────┤ <br />│G     │到最后一行      │ <br />└─────┴───────────┘ <br />三、替换文?<br />┌─────┬──────┐ <br />│命o(h)   │描述    │ <br />├─────┼──────┤ <br />│$     │到行   │ <br />├─────┼──────┤ <br />│(     │到句子的开?#9474; <br />├─────┼──────┤ <br />│)     │到句子的末尾│ <br />├─────┼──────┤ <br />│{     │到段落的开?#9474; <br />├─────┼──────┤ <br />│}     │到段落的末尾│ <br />└─────┴──────┘ <br /><br />四、删除文?<br />┌───┬───────────┐ <br />│命o(h) │描述          │ <br />├───┼───────────┤ <br />│r   │替换一个字W?     │ <br />├───┼───────────┤ <br />│c   │修改文本直到按下Esc?│ <br />├───┼───────────┤ <br />│cw  │修改下一个词      │ <br />├───┼───────────┤ <br />│cnw  │修改接下来的n个词   │ <br />└───┴───────────┘ <br />五、文本编?<br />┌──┬──────────────────────┐ <br />│命寺│描述                    │ <br />├──┼──────────────────────┤ <br />│yy │一行文本移到缺省缓冲区?         │ <br />├──┼──────────────────────┤ <br />│yn │下一个词Ud~省~冲Z          │ <br />├──┼──────────────────────┤ <br />│ynw │后面的n个词Ud~省~冲Z        │ <br />├──┼──────────────────────┤ <br />│p  │如果~省~冲Z包含一行文本,则在当前   │ <br />│  │行后面插入一个空行井缺省缓冲区中的声   │ <br />│  │容粘贴到q一行中Q如果缺省缓冲区中包含   │ <br />│  │多个词,把这些词_脓(chung)到光标的双Q     │ <br />├──┼──────────────────────┤ <br />│P  │如果~省~冲Z包含一行文本,则正当前    │ <br />│   │行前面插入一个空行井缺省缓冲区中的?   │ <br />│  │容粘贴到q一行中Q如果缺省缓冲区中包?   │ <br />│   │多个词,把这些词_脓(chung)到光标的左边    <br /><br />  │ <br />└──┴──────────────────────┘ <br />六、保存退?<br />┌───────────┬───────────────┐ <br />│命o(h)         │描述             │ <br />├───────────┼───────────────┤ <br />│zz          │保存q出          │ <br />├───────────┼───────────────┤ <br />│:w filename      │写入文g            │ <br />├───────────┼───────────────┤ <br />│:W          │写入文g           │ <br />├───────────┼───────────────┤ <br />│:x          │保存(如果当前文g修改q?q?#9474; <br />├───────────┼───────────────┤ <br />│:q!          │不保存文Ӟ直接退出      │ <br />├───────────┼───────────────┤ <br />│:q          │退出vi            │ <br /><br />VI常用技?br /><br />VI命o(h)可以说是Unix/Linux世界里最常用的编辑文件的命o(h)了,但是因ؓ(f)它的命o(h)集众多,很多人都不习(fn)惯用它Q其实?zhn)只需要掌握基本命令,然后加以灉|q用Q就?x)发现它的优势,q会(x)逐渐喜欢使用q种Ҏ(gu)。本文旨在介lVI的一些最常用命o(h)和高U应用技巧?<br /><br />一、基本命令介l?<br /><br />---- 1Q光标命?<br /><br />k、j、h、l——上、下、左、右光标Ud命o(h)。虽然?zhn)可以在Linux中用键盘右边的4个光标键Q但是记住这4个命令还是非常有用的。这4个键正是x在键盘上攄的基本位|?<br />nG——跌{命o(h)。n敎ͼ该命令立即光标跛_指定行?<br />Ctrl+G——光标所在位|的行数和列数报告?<br />w、b——使光标向前或向后跌一个单词?<br />---- 2Q编辑命?<br />i、a、r——在光标的前、后以及(qing)所在处插入字符命o(h)(i=insert、a=append、r=replace)?<br />cw、dw——改变(|换)/删除光标所在处的单词的命o(h) (c=change、d=delete)?<br />x、d$、dd——删除一个字W、删除光标所在处到行所有字W以?qing)删除整行的命o(h)?<br />---- 3Q查扑֑?<br />---- /string?string——从光标所在处向后或向前查扄应的字符串的命o(h)?<br />---- 4Q拷贝复制命?<br />---- yy、p——拯一行到剪脓(chung)板或取出剪脓(chung)板中内容的命令?<br /><br />二、常见问题及(qing)应用技?<br /><br />---- 1Q在一个新文g中读/etc/passwd中的内容Q取出用户名部分?<br />---- vi file <br />---- :r /etc/passwd 在打开的文件file中光标所在处d/etc/passwd <br />---- :%s/:.*//g 删除/etc/passwd中用户名后面的从冒号开始直到行所有部分?<br />---- (zhn)也可以在指定的行号后读入文件内容,例如使用命o(h)“:3r /etc/passwd”从新文g的第3行开始读?/etc/passwd的所有内宏V?<br />---- 我们q可以用以下方法删掉文件中所有的I?qing)?开始的注释行?<br />---- #cat squid.conf.default | grep -v ^$ | grep -v ^# <br /><br />---- 2Q在打开一个文件编辑后才知道登录的用户对该文g没有写的权限Q不能存盘,需要将所做修改存入(f)时文件?<br />---- vi file <br />---- :w /tmp/1 保存所做的所有修改,也可以将其中的某一部分修改保存C(f)时文Ӟ例如仅仅把第20?9行之间的内容存盘成文?tmp/1Q我们可以键入如下命令?<br />---- vi file <br />---- :20,59w /tmp/1 <br /><br />---- 3Q用VI~辑一个文Ӟ但需要删除大D늚内容?<br />---- 首先利用~辑命o(h)“vi file”打开文gQ然后将光标Ud需要删除的行处按Ctrl+G昄行号Q再到结֤再按Ctrl+GQ显C文件结行号?<br />---- :23,1045d 假定2ơ得到的行号?3?045Q则把这期间的内容全删除Q也可以在要删除的开始行和结束行中用ma、mb命o(h)标记Q然后利?#8220;:a,bd”命o(h)删除?<br /><br />---- 4Q在整个文g的各行或某几行的行首或行֊一些字W串?<br />---- vi file <br />---- :3,$s/^/some string / 在文件的W一行至最后一行的行首插入“some string”?<br />---- :%s/$/some string/g 在整个文件每一行的行尾d“some string”?<br />---- :%s/string1/string2/g 在整个文件中替换“string1”?#8220;string2”?<br />---- :3,7s/string1/string2/ 仅替换文件中的第3行到W?行中?#8220;string1”?#8220;string2”?<br />---- 注意: 其中s为substituteQ?表示所有行Qg表示global?<br /><br />---- 5Q同时编?个文Ӟ拯一个文件中的文本ƈ_脓(chung)到另一个文件中?<br />---- vi file1 file2 <br />---- yy 在文?的光标处拯所在行 <br />---- :n 切换到文? (n=next) <br />---- p 在文?的光标所在处_脓(chung)所拯的行 <br />---- :n 切换回文? <br /><br />---- 6Q替换文件中的\径?<br />---- 使用命o(h)“:%s#/usr/bin#/bin#g”可以把文件中所有\?usr/bin换成/bin。也可以使用命o(h)“:%s//usr/bin//bin/g”实现Q其?#8220;”是{义字W,表明其后?#8220;/”字符是具有实际意义的字符Q不是分隔符?/p></div><script type="text/javascript"> if ($ != jQuery) { $ = jQuery.noConflict(); } var isLogined = false; var cb_blogId = 61271; var cb_entryId = 1581524; var cb_blogApp = "88999660"; var cb_blogUserGuid = "8ecd2971-53a8-de11-ba8f-001cf0cd104b"; var cb_entryCreatedDate = '2009/10/12 9:44:00'; </script> <img src ="http://m.tkk7.com/zdq5337/aggbug/365887.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/zdq5337/" target="_blank">开花流?/a> 2011-12-08 15:25 <a href="http://m.tkk7.com/zdq5337/articles/365887.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <p>лǵվܻԴȤ</p> <a href="http://m.tkk7.com/" title="亚洲av成人片在线观看">亚洲av成人片在线观看</a> <div class="friend-links"> </div> </div> </footer> վ֩ģ壺 <a href="http://btintemet.com" target="_blank">պƷާѡ</a>| <a href="http://tmg-beelen.com" target="_blank">߹ۿѰƵ</a>| <a href="http://664403.com" target="_blank">ˬִ̼߳</a>| <a href="http://10242016.com" target="_blank">޾ƷҹVAþó</a>| <a href="http://xamxx.com" target="_blank">ձҳַ߿Ѳ </a>| <a href="http://x3013.com" target="_blank">999߾ƷѲ</a>| <a href="http://xp189.com" target="_blank">˳ͼƬС˵վ</a>| <a href="http://46339cc.com" target="_blank">GOGOGOѹۿ</a>| <a href="http://222mp3.com" target="_blank">Ļ޵Ӱ</a>| <a href="http://www-70074.com" target="_blank">ҹƬ߹ۿ</a>| <a href="http://www6661126.com" target="_blank">޹ۺ</a>| <a href="http://xianliwang.com" target="_blank">ѹվ߿</a>| <a href="http://www678678.com" target="_blank">޳aƬ߹ۿձ</a>| <a href="http://31xyz.com" target="_blank">þùƷվ</a>| <a href="http://kdp44.com" target="_blank">þþ97ɫ</a>| <a href="http://snsdtv.com" target="_blank">ëƬȫ</a>| <a href="http://wdjiuye.com" target="_blank">Ʒר߹ۿ </a>| <a href="http://qiseka.com" target="_blank">ٸaëƬ˳</a>| <a href="http://xww678.com" target="_blank">Ƶվ߲</a>| <a href="http://2023852.com" target="_blank">˾Ʒ</a>| <a href="http://woniuzn.com" target="_blank">ڵaëƬѿ</a>| <a href="http://sdsupuchem.com" target="_blank">޸պƷһ</a>| <a href="http://69xjk.com" target="_blank">츾ӰƬ </a>| <a href="http://spxingyiquan.com" target="_blank">99ѹۿƵ</a>| <a href="http://yjszhukao.com" target="_blank">޾ƷӰ</a>| <a href="http://xyflash.com" target="_blank">91鶹Բ߹ۿ</a>| <a href="http://7788mgqb.com" target="_blank">aѹۿ</a>| <a href="http://zjyxc.com" target="_blank">Ƶ߹ۿ</a>| <a href="http://caita88.com" target="_blank">߿ƬƵ</a>| <a href="http://www97544.com" target="_blank">йһػƵƬ</a>| <a href="http://fsweicheng.com" target="_blank">޵һҳĻ</a>| <a href="http://shnisda.com" target="_blank">ձvƬһ</a>| <a href="http://www77714.com" target="_blank">Ѿþþþþ</a>| <a href="http://445848.com" target="_blank">޹߹ۿ </a>| <a href="http://shunfk.com" target="_blank">عΰAëƬѿ</a>| <a href="http://wo93xyz.com" target="_blank">޾ƷVAƬ߲</a>| <a href="http://456qqq.com" target="_blank">һþۺ³³</a>| <a href="http://dxj588.com" target="_blank">ڵƵ</a>| <a href="http://9196528.com" target="_blank">˾þô߽ӰԺ</a>| <a href="http://aicbbs.com" target="_blank">AV뾫Ʒһ </a>| <a href="http://dgyinhezy.com" target="_blank">ѹۿƬëƬ</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>