Das beliebte Solarized -Farbschema scheint Kommentare kursiv zu schreiben, aber wenn ich es vim
in iTerm2 verwende, ist dies nicht der Fall.
Also wird alles, einschließlich Kommentare, in römischer (normaler) Schrift angezeigt. Selbst wenn ich die Menlo-Schriftart auswähle, die ein kursives Schriftbild hat, das ich im Einstellungsfenster von iTerm2 sehen kann, werden die Kommentare als Roman gerendert.
Zusammen mit der Tatsache, dass Kommentare in Hellgrau und normaler Text in (nicht sehr hellem) Weiß sind, werden Kommentare ziemlich schwer von normalem Text zu unterscheiden.
Für mich ist das ein Makel in der ansonsten tollen Farbgebung. Ich habe etwas gesucht, aber der Rat ist alt und löst das Problem nicht. Ich verwende OS X 10.6 Sierra auf einem MacBook Air.
Sie müssen Ihre TERMINFO
Datei aktualisieren.
Dank Wincents Video und seinen Github- Seiten
Sehen Sie sich das Video an und schauen Sie sich seine Github-Seiten an, sie sind ausgezeichnet.
Ich habe folgende Notiz auf meiner HD gespeichert:
Wir können Kursivschrift im Terminal haben.
Dies funktioniert sowohl in iTerm als auch in Terminal.
Wir müssen die terminfo-Datenbank anpassen, damit sie kursiv angezeigt wird.
Erstellen Sie eine einfache Textdatei, die Folgendes enthält:
xterm-256color|xterm with 256 colors and italic,
sitm=\E[3m, ritm=\E[23m,
use=xterm-256color,
Speichern Sie es alsxterm-256color.terminfo.txt
Führen Sie dann den folgenden Befehl aus:
tic -o ~/.terminfo xterm-256color.terminfo.txt
Dadurch wird ein ~/.terminfo/some_arbitrary_number/
Verzeichnis erstellt, und in diesem Verzeichnis befindet sich eine xterm-256color
Datei.
Was es laut Manpage macht:
The command tic translates a terminfo file from source format into com-
piled format. The compiled format is necessary for use with the
library routines in ncurses(3X).
The results are normally placed in the system terminfo directory
/usr/share/terminfo. There are two ways to change this behavior.
First, you may override the system default by setting the variable TER-
MINFO in your shell environment to a valid (existing) directory name.
Secondly, if tic cannot get access to /usr/share/terminfo or your TER-
MINFO directory, it looks for the directory $HOME/.terminfo; if that
directory exists, the entry is placed there.
Libraries that read terminfo entries are expected to check for a TER-
MINFO directory first, look at $HOME/.terminfo if TERMINFO is not set,
and finally look in /usr/share/terminfo.
-o dir Write compiled entries to given directory. Overrides the TER-
MINFO environment variable.
Mit dem angegebenen Befehl schreiben wir also einen neuen terminfo-Eintrag in das versteckte ~/.terminfo
Verzeichnis. Es nimmt die Fähigkeiten des bestehenden xterm-256color-Eintrags (von /usr/share/terminfo/
) und fügt ihm den Kursivmodus hinzu.
So überprüfen Sie, ob das Terminal das Richtige tut:
mit Fisch:
echo (tput sitm)'italics' (tput ritm) (tput smso)'standout'(tput rmso)
mit bash oder zsh:
echo `tput sitm`italics`tput ritm` `tput smso`standout`tput rmso`
Ich denke, im Moment setzen die meisten Vim-Terminal-Farbschemata Kursiv nicht als Stil. Um dies zu überprüfen, tun Sie Folgendes:
:hi Comment
Wenn die Antwort enthält cterm=italic
, sind Sie fertig. Wenn nicht, fügen highlight Comment cterm=italic
Sie es Ihrem vimrc hinzu ( unten stellen Sie Ihr Farbschema ein).
Nachtrag für tmux
tmux verwendet seine eigenen terminfo-Dateien, sie müssen ebenfalls aktualisiert werden, um Kursivschrift zu verwenden.
tmux.terminfo.txt
Datei, die enthält tmux|tmux terminal multiplexer, sitm=\E[3m, ritm=\E[23m, smso=\E[7m, rmso=\E[27m, use=screen,
tmux-256color.terminfo.txt
Datei, die enthält tmux-256color|tmux with 256 colors, sitm=\E[3m, ritm=\E[23m, smso=\E[7m, rmso=\E[27m, use=screen-256color,
und führe den tic-Befehl aus.
tic -o ~/.terminfo tmux-256color.terminfo.txt
und
tic -o ~/.terminfo tmux.terminfo.txt
Neben der Aktualisierung meiner TERMINFO
musste ich noch zwei weitere Änderungen vornehmen.
Bearbeiten Sie .vim/colors/solarized.vim
wie in Solarized Nr. 120 empfohlen , um die Zeilen 137-157 durch Folgendes zu ersetzen:
if has("gui_running") || ( has("unix") && system("tput sitm") == "\033[3m" )
let s:terminal_italic=1
else
let s:terminal_italic=0
endif
Bearbeiten .vimrc
, um die folgenden Zeilen hinzuzufügen. Verwenden Sie <Ctrl-v><Esc>
zum Eingeben der ^[
Zeichen.
" Enable italics
set t_ZH=^[[3m
set t_ZR=^[[23m
Violapterin
Violapterin
mvim -v
), kann es nicht. Ist es normal?Peter VP
:hi Comment
heißt escterm=italic
? Wenn nicht, setzt Solarized dies nicht. Sie können dies in Ihrem vimrc mit tunhighlight Comment cterm=italic
Violapterin
Benutzer120098
Benutzer120098
Peter VP
echo `tput sitm`italics`tput ritm` `tput smso`standout`tput rmso`
und sie hat das erwartete Ergebnis (kursiv und herausragend) geliefert, ohne den Patch anzuwenden. Dies ist ein xfce4-Terminal. Der Teil mit 78 Verzeichnissen wird auf den 2 Macs angezeigt, die ich zur Verfügung habe. Ich bin mir nicht sicher, ob dies nur eine Mac-Sache oder ein allgemeineres Unix ist. Wenn Sie sich das Video von wincent ansehen,~/.terminfo
ist ein Verzeichnis, in dem das gepatchte terminfo gespeichert ist. Vermutlich wird beim Starten des Terminals diese Datei gelesen, anstatt die in/usr/share/x/terminfo/xterm-256color
Peter VP
jrwren
Peter VP
Shender