これは、特にMakefiles
タブが必要な場合に問題になることがあります。残念ながら、異なるプログラムの問題は関連していません。おそらくそれぞれに非常に異なるソリューションがあります。
vimを実行するには、ファイルを実行する:set noexpandtab
かファイルに配置する必要があります。特定のファイルタイプのみを設定したい場合は、自動コマンドを実行できます。set noexpandtab
~/.vimrc
noexpandtab
~/.vimrc
"indenting defaults: 4 spaces for an indent
set shiftwidth=4
set softtabstop=4
set expandtab
"exceptions to indenting for specific languages and files--------
"for shell scripts: 2 spaces for an indent
autocmd filetype sh setlocal shiftwidth=2
autocmd filetype sh setlocal softtabstop=2
"for Makefiles: use tabs for indents
autocmd filetype make setlocal tabstop=8
autocmd filetype make setlocal noexpandtab
これにより、タブのデフォルトの4スペースが設定され、vim
シェルスクリプトとMakefileの例外が作成されます。
のような他のプログラムについては、less
manページをご覧ください。構成ファイル、環境変数、または必要なコマンドラインオプションがある場合があります。以下のmanページを見てください:
-xn,... or --tabs=n,...
Sets tab stops. If only one n is specified, tab stops are set
at multiples of n. If multiple values separated by commas are
specified, tab stops are set at those positions, and then con-
tinue with the same spacing as the last two. For example,
-x9,17 will set tabs at positions 9, 17, 25, 33, etc. The
default for n is 8.
あなたが気づいていることはバグではありません。「機能です。」唯一の問題は、それをオフにする方法を知る必要があることです。
less -xn
タブ文字ではなくn個のスペースを使用するように設定します。-U
タブをとして表示します^I
。テキストをコピーしてタブ文字を貼り付けることができるように、文字通りのタブ文字を出力する方法を見つけていませんが、方法を知りたいです。