亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

Chinaunix

標(biāo)題: 各位大神 請(qǐng)教1哥vim使用的問(wèn)題 [打印本頁(yè)]

作者: any_wind    時(shí)間: 2011-10-20 09:32
標(biāo)題: 各位大神 請(qǐng)教1哥vim使用的問(wèn)題
在vim中看代碼時(shí)候
我不喜歡看到
  1. if(){
  2. }else{
  3. }
復(fù)制代碼
而是喜歡看
  1. if()
  2. {
  3. }
  4. else()
  5. {
  6. }
復(fù)制代碼
請(qǐng)問(wèn)各位大神能否寫(xiě)1個(gè)腳本是,設(shè)置本頁(yè)中所有到{}都是自己占1行,不放再程序if()什么的末尾,這樣看起來(lái)更明朗一點(diǎn)
作者: mpstat    時(shí)間: 2011-10-20 10:59
  1. sed -r 's/^(\s*)([^{]*)\{\s*$/\1\2\n\1\{/' xxx.cpp
復(fù)制代碼
lz是不是想要這個(gè)效果
作者: zooyo    時(shí)間: 2011-10-20 14:13
提示: 作者被禁止或刪除 內(nèi)容自動(dòng)屏蔽
作者: any_wind    時(shí)間: 2011-10-20 17:20
回復(fù) 2# mpstat


    可以是可以,但是好像多了1個(gè)空格,就是代碼變成了
  1. if()
  2. 多了1行空格
  3. {

  4. }
復(fù)制代碼
還有你這個(gè)能直接改變文件嗎,比如先弄成這樣,然后再替換原文件,十分感謝
作者: any_wind    時(shí)間: 2011-10-20 17:22
回復(fù) 3# zooyo


    你的如果if不是在一行的開(kāi)始的話,下面跟著的括號(hào)是在下一行的開(kāi)頭,
  1. adf  if()
  2. {
  3.       }
  4. 你看下吧
復(fù)制代碼

作者: any_wind    時(shí)間: 2011-10-20 18:04
自己帖子 自己頂
作者: any_wind    時(shí)間: 2011-10-21 09:28
再頂頂  別沉了
作者: mpstat    時(shí)間: 2011-10-21 09:49
回復(fù) 7# any_wind

  1.     [iscs@linux-sp1]:~>$ cat a.c
  2. #include <stdio.h>

  3. int main(int argc, char **argv)
  4. {
  5.   int n = 5;
  6.   int a = 4;
  7.             if(a) {
  8.                 exit;
  9.             }else{
  10.                 exit;
  11.             }

  12.   printf("a=%0*d\n", n, a);
  13.   return (0);
  14. }
  15. [iscs@linux-sp1]:~>$ sed -r 's/^(\s*)([^{]*)\{\s*$/\1\2\n\1\{/;s/^(\s*)}else\>/\1}\n\1else/' a.c
  16. #include <stdio.h>

  17. int main(int argc, char **argv)

  18. {
  19.   int n = 5;
  20.   int a = 4;
  21.             if(a)
  22.             {
  23.                 exit;
  24.             }
  25.             else
  26.             {
  27.                 exit;
  28.             }

  29.   printf("a=%0*d\n", n, a);
  30.   return (0);
  31. }
復(fù)制代碼

作者: any_wind    時(shí)間: 2011-10-21 11:35
回復(fù) 8# mpstat

你看 你main函數(shù)下面多了一行空白,
如果你能寫(xiě)個(gè)正則表達(dá)式替換下不在行首的{就行了
因?yàn)樵瓉?lái)mian函數(shù)下的這個(gè){是再行首的
作者: mpstat    時(shí)間: 2011-10-21 13:01
回復(fù) 9# any_wind


    把第一個(gè)(\s*)改成(\s+)就行了
作者: any_wind    時(shí)間: 2011-10-24 11:04
回復(fù) 10# mpstat

大哥還是不行哦

我自己寫(xiě)了一個(gè)vim下可以用的:%s/\([^\t][^\t][^\t][^\t][^\t][^t]\{-}[^{]\)\([{]\)/\1\r\2/g
作者: jason680    時(shí)間: 2011-10-24 11:15
回復(fù) 11# any_wind


indent
作者: any_wind    時(shí)間: 2011-12-08 18:43
回復(fù) 12# jason680


    發(fā)現(xiàn)indent 沒(méi)有參數(shù)實(shí)現(xiàn)格式化數(shù)組的{格式

麻煩大家再幫看看吧
作者: jason680    時(shí)間: 2011-12-08 19:12
回復(fù) 13# any_wind


http://www.gnu.org/software/indent/manual/indent.html   

If you use the ‘-bl’ option, you may also want to specify the ‘-bli’ option. This option specifies the number of spaces by which braces are indented. ‘-bli2’, the default, gives the result shown above. ‘-bli0’ results in the following:
       
if (x > 0)
{
  x--;
}




歡迎光臨 Chinaunix (http://www.72891.cn/) Powered by Discuz! X3.2