Как отображать вкладки в виде 4 пробелов в терминале gnome

На самом деле gnome-terminal отображает вкладки как 8 пробелов, и это очень раздражает, когда вы катаетесь на кошках или просматриваете diffs, есть ли способ изменить это навсегда?

Ответы

Ответ 1

Единственное решение, которое я нашел, - это ввести терминал:

tabs 5,9,13,17,21,25,29,33,37,41

и добавьте его в ~/.bashrc, если вы хотите постоянные изменения.

PS: Это, очевидно, охватывает до 10 вкладок вкладок.

Ответ 2

Вместо того, чтобы выписывать явный список tabstops, вы также можете использовать неявные интервалы:

tabs -n

Это приведет к появлению tabstops для каждого столбца n. Для получения дополнительной информации посмотрите man-страницу для вкладок на http://manpages.ubuntu.com/manpages/maverick/en/man1/tabs.1.html.

Ответ 3

Вам нужно установить табуляцию на базовом tty, а не в самом гном-терминале.

Теоретически, вы должны использовать 'setterm -regtabs 4', чтобы установить ширину табуляции 4 в вашем .bashrc.

Кажется, что я не работаю над своим дистрибутивом linux, но он работает, когда я ssh из удаленной системы.

Самый простой способ reset tabwidth to 8 - использовать "tabs -8" (вкладки -d8, чтобы получить визуальное представление об изменении).

Ответ 4

Проблема с выполнением ее как "tabs -4" заключается в том, что первая табуляция отключена на одну (по крайней мере, на моей системе). Если я набираю "tabs -4", например, первая вкладка будет начинаться в 4-м столбце с 3 пробелами перед ним, а не 4. Последующие остановки табуляции будут правильно разделены на 4 пробела. Обходной путь к этому заключается в том, чтобы указать табуляцию так:

tabs 1,+4,+4,+4,+4,...

Ответ 5

Вы также можете делать вкладки -4, и он будет устанавливать табуляцию каждый четвертый столбец.

Ответ 6

Если вы используете bash, это то, что у меня есть в моем ~/.bashrc:

# set tabs to width TABWIDTH
TABWIDTH=4
# for less(1) the option -x4 was added (see above);
# other programs may need their own flags
setterm -regtabs ${TABWIDTH} </dev/tty
tabs -0 </dev/tty
# this erroneously imho sets the first tab at offset 3, not offset 4:
#tabs 1,+${TABWIDTH} </dev/tty
# this works:
tabs 1`for i in {0..40}; do echo -n ",+${TABWIDTH}"; done`
unset TABWIDTH

Обратите внимание на обратные элементы вокруг кнопки "for... done".

edit: Последний '+4' перед оператором 'done' должен быть, конечно, + ${TABWIDTH}.

Ответ 7

вкладки 1,5,9,13,17,21,25 и т.д. похоже, не работает полностью правильно. На входе, при обратном перемещении по вкладке, gnome-terminal возвращает 8 пробелов, а не четыре. Похоже, здесь есть гном-терминальная ошибка. (Примечание: вы не увидите этого, если введете текст в оболочку, потому что он узурпирует вкладки для завершения файла. Вы должны сначала запустить команду cat или dc или какую-либо другую команду, которая не присваивает символы табуляции в своих целях.)