作者ric2k1 (Ric)
看板EE_DSnP
標題Re: [問題] 關於.txt檔 (關於 vi 裡面的 tab)
時間Wed Mar 25 21:50:10 2009
: → Trumen:老師那我再問一個 請問要怎麼把tab改成四個空白~~? 03/20 00:17
: 推 ric2k1:在 vi 底下: (1) vi youFile.txt 03/20 00:53
: → ric2k1:(2) :1, $ s/<tab>/ /g 03/20 00:54
: → ric2k1: (上面這個 <tab> 是要你按 tab 的意思) 03/20 00:54
: → Trumen:E486: 找不到 ^I <--跑出了這個訊息囧 03/23 16:33
: → Trumen::1, $ s/<tab>/ /g 請問老師左邊的指令是一次打完嗎? 03/23 16:34
: 推 ric2k1:找不到 ^I 表示內文中並沒有 tab (tab = ^I)... 03/23 17:15
: → ric2k1:你有打 ":" 嗎? 你確定內文中有 tab 嗎? 03/23 17:16
: → ric2k1:可用 "cat -v -t -e yourFile" 確定是否有 tab 03/23 17:17
: → Trumen:喔喔我懂老師的意思了~~不過我是想要每次按tab他都是跳四格 03/24 14:40
: → Trumen:有沒有辦法說在按tab前就先設定好它會跳四格呢? 03/24 14:40
: → Trumen:改好了! 謝謝老師! 03/25 17:26
剪貼一下 vi 的 help.
For more information, you can do ":help set" when vi'ing any file.
Then do "/tab" (or /<anyString>) to search for the thing you want to see
in this help message.
至於 "set" 在 vi 裡面的用法, 你可以:
1. 只針對某個正在 vi 的檔案下指令
[例如]
:set softtabstop=3
:set shiftwidth=3
:set noexpandtab
2. 一勞永逸, 以後每次 vi 都適用:
在你的 home directory (i.e. cd ~) vi 一個檔案 ".vimrc",
將你要設定的東西 (如上面那三行) 寫入.
========================================================================
*'tabstop'* *'ts'*
'tabstop' 'ts' number (default 8)
local to buffer
Number of spaces that a <Tab> in the file counts for. Also see
|:retab| command, and 'softtabstop' option.
Note: Setting 'tabstop' to any other value than 8 can make your file
appear wrong in many places (e.g., when printing it).
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.
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.224.43.193
1F:→ ric2k1:不過請小心: 照上面那樣做你在 vi Makefile 時就囧掉了... 03/25 21:52
2F:→ ric2k1:(OS: 把我的 tab 還給我 !!) 03/25 21:53
3F:推 timrau:法一:Ctrl-V <tab>以輸入真正的\t 03/25 22:24
4F:→ timrau:法二:在~/.vimrc裡寫filetype indent on 03/25 22:24