Re: [新手] tab的問題
看板Editor (編輯器(vim/emacs))作者kornelius (c9s)時間15年前 (2010/02/05 23:09)推噓6(6推 0噓 1→)留言7則, 6人參與討論串4/5 (看更多)
基本上可以使用
set shiftwidth=4
來設定 tab 寬。
而使用
set expandtab
來將 tab 轉成 space (實際存起來的檔案將會是以 space , not tab )
如果要將既有的 <Tab> 轉成 space 可以再 expandtab 之後輸入:
:retab!
來做轉換。
而 tabstop 是實際上讀到檔案的 \t (Tab 字元) 時,要解譯為幾個空白
通常設定為 4
set tabstop=4
另外 softtabstop 則是,你在編輯動作 (Backspace) 或是 (Tab) 時,對空白的解譯
譬如說:
set noexpandtab
set sw=4
set tabstop=4
set softtabstop=4
新加入的 Tab 都會是 \t , Tab 為 4 個 space ,讀取檔案的 \t 會被顯示為 4 個
space ,在操作 BS 的時候,4 個顯示的空白會被當作一個 tab 刪除。
實際上 softabstop 比較常用在 expandtab 的模式下:
set expandtab
set sw=4
set tabstop=4 " 怕檔案裡頭仍有 \t
set softtabstop=4
如此被延展為空白的 space 也可以像是 tab 一樣被刪除固定的 space 數
(softtabstop=4)
附帶一題,由於 tab 每個人的用法都不一樣,而且變化很多
所以現在很多專案都只使用 space 而不使用 tab 了!
也就是:
set et sw=4 ts=4 sts=4
設定是被建議的。
當然如果你寫 python 就不一樣。 :p
這邊順便引入 vim help 的 'tabstop' 章節:
There are four main ways to use tabs in Vim:
1. Always keep 'tabstop' at 8, set 'softtabstop' and 'shiftwidth' to 4
(or 3 or whatever you prefer) and use 'noexpandtab'. Then Vim
will use a mix of tabs and spaces, but typing <Tab> and <BS> will
behave like a tab appears every 4 (or 3) characters.
2. Set 'tabstop' and 'shiftwidth' to whatever you prefer and use
'expandtab'. This way you will always insert spaces. The
formatting will never be messed up when 'tabstop' is changed.
3. Set 'tabstop' and 'shiftwidth' to whatever you prefer and use a
|modeline| to set these values when editing the file again. Only
works when using Vim to edit the file.
4. Always set 'tabstop' and 'shiftwidth' to the same value, and
'noexpandtab'. This should then work (for initial indents only)
for any tabstop setting that people use. It might be nice to have
tabs after the first non-blank inserted as spaces if you do this
though. Otherwise aligned comments will be wrong when 'tabstop' is
changed.
※ 引述《shanmi (4/27視小中友之夜)》之銘言:
: 我在寫fortran77
: 所以常常需要空個字元
: 我都按tab
: 我用geditor 發現他可以設定tab=空幾格
: 所以是不是各家編輯器對tab的設定不同?
: 或者等到程式compile時也會把一個tab讀成不同的空格數?
: 這樣似乎要小心使用tab了
: 小弟剛開始寫程式
: 感謝各位
--
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 113.61.198.68
※ 編輯: kornelius 來自: 113.61.198.68 (02/05 23:10)
※ 編輯: kornelius 來自: 113.61.198.68 (02/05 23:12)
推
02/05 23:18, , 1F
02/05 23:18, 1F
→
02/05 23:19, , 2F
02/05 23:19, 2F
※ 編輯: kornelius 來自: 113.61.198.68 (02/05 23:35)
推
02/08 16:42, , 3F
02/08 16:42, 3F
推
02/09 01:53, , 4F
02/09 01:53, 4F
推
02/09 22:39, , 5F
02/09 22:39, 5F
推
03/25 10:30, , 6F
03/25 10:30, 6F
推
08/09 18:40, , 7F
08/09 18:40, 7F
討論串 (同標題文章)
Editor 近期熱門文章
PTT數位生活區 即時熱門文章