「Rxvt-unicode」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(他言語へのリンクを修正)
 
(5人の利用者による、間の19版が非表示)
3行目: 3行目:
 
[[de:urxvt]]
 
[[de:urxvt]]
 
[[en:Rxvt-unicode]]
 
[[en:Rxvt-unicode]]
[[es:Rxvt-unicode]]
 
[[fr:urxvt]]
 
 
[[ru:Rxvt-unicode]]
 
[[ru:Rxvt-unicode]]
[[sr:Rxvt-unicode]]
+
[[zh-hans:Rxvt-unicode]]
 
{{Related articles start}}
 
{{Related articles start}}
{{Related|rxvt-unicode/Tips and tricks}}
+
{{Related|rxvt-unicode/ヒントとテクニック}}
 
{{Related articles end}}
 
{{Related articles end}}
[http://software.schmorp.de/pkg/rxvt-unicode.html rxvt-unicode] は細かいカスタマイズができる[[Wikipedia:ja:端末エミュレータ|ターミナルエミュレータ]]で [[Wikipedia:ja:Rxvt|rxvt]] のフォークです。一般に {{Ic|urxvt}} と呼ばれている、rxvt-unicode は[[デーモン]]化して一つの[[Wikipedia:ja:プロセス|プロセス]]で複数のクライアントを実行することができ、システムリソースの使用を抑えることができます。Marc Lehmann によって開発されており、rxvt-unicode の取り柄としては [[Wikipedia:ja:Unicode|Unicode]] による多言語サポートや、複数のフォントタイプの表示機能、[[Wikipedia:ja:Perl|Perl]] 拡張のサポートなどが挙げられます。
+
[http://software.schmorp.de/pkg/rxvt-unicode.html rxvt-unicode] は細かいカスタマイズができるターミナルエミュレータで [[Wikipedia:ja:Rxvt|rxvt]] のフォークです。rxvt-unicode の取り柄としては [[Wikipedia:ja:Unicode|Unicode]] による多言語サポートや、透過、複数のフォントタイプの表示機能、[[Perl]] 拡張のサポートなどが挙げられます。
   
 
== インストール ==
 
== インストール ==
   
{{Pkg|rxvt-unicode}} は[[公式リポトリ]]からインストールすることができます。
+
{{Pkg|rxvt-unicode}} パッケーインストールすることができます。
   
 
== 設定 ==
 
== 設定 ==
   
設定と値の完全なリストは [http://pod.tst.eu/http://cvs.schmorp.de/rxvt-unicode/doc/rxvt.1.pod urxvt(1)][http://pod.tst.eu/http://cvs.schmorp.de/rxvt-unicode/doc/rxvt.7.pod urxvt(7)] を見て下さい。
+
設定と値の完全なリストは {{man|1|urxvt}}{{man|7|urxvt}} を見て下さい。
   
=== ~/.Xresources の作成 ===
+
=== Xresources ===
   
 
rxvt-unicode の外観や機能はコマンドラインの引数や [[X resources]] によって制御されます。コマンドライン引数は [[X resources]] の設定よりも優先して適用されます。
 
rxvt-unicode の外観や機能はコマンドラインの引数や [[X resources]] によって制御されます。コマンドライン引数は [[X resources]] の設定よりも優先して適用されます。
28行目: 26行目:
 
=== スクロールバックの位置 ===
 
=== スクロールバックの位置 ===
   
デフォルトでは、シェル出力がれると、スクロールバックの表示は自動的にバッファの最後にジャンプし、新しい出力を表示します。前の出力コンパイラメッセージなどを表示する場合は{{ic|~/.Xresources}} にのオプションを設定します
+
デフォルトでは、シェル出力が更新されると、スクロールバックの表示は自動的にバッファの最後にジャンプし、新しい出力を表示します。前の出力 (コンパイラメッセージなど) を表示したい場合は {{ic|~/.Xresources}} に以下のオプションを設定します:
   
 
! do not scroll with output
 
! do not scroll with output
41行目: 39行目:
 
=== セカンダリスクリーンのスクロールバッファ ===
 
=== セカンダリスクリーンのスクロールバッファ ===
   
  +
''セカンダリスクリーン'' でページャをスクロールすると (例えば {{ic|less}} で {{ic|'''-X'''}} オプションを省略した場合)、端末のバッファではなくページャ内でスクロールできるようスクロールバックバッファを無効にすることをお勧めします。konsole および vte ベースの端末ではデフォルトでこういう仕様になっており動作を変更できません。urxvt で ''セカンダリスクリーン''のスクロールバックバッファを無効にするには:
When you scroll a pager in a ''secondary screen''(e.g. {{ic|less}} without the {{ic|'''-X'''}} option), it may be a good idea to disable the scrollback buffer to be able to scroll in the pager ''itself'', instead of the terminal's buffer: this is default and unchangeable behaviour in konsole and vte-based terminals.
 
  +
In urxvt, to disable the scrollback buffer for the ''secondary screen'':
 
 
URxvt.secondaryScreen: 1
 
URxvt.secondaryScreen: 1
 
URxvt.secondaryScroll: 0
 
URxvt.secondaryScroll: 0
   
  +
上記の設定は、マウスホイールを使用してスクロールする場合を除いて、期待通りに機能します。マウスホイールでセカンダリスクリーンのページャをスクロールしたとき、スクロールバックバッファに何かがあると、ページャの代わりにスクロールバックバッファがマウスホイールでスクロールされます。この問題を解決するには、rxvt-unicode に新しいオプションを導入する必要があります [https://bbs.archlinux.org/viewtopic.php?id=132150] AUR の {{aur|rxvt-unicode-better-wheel-scrolling}} でパッチが適用された rxvt-unicode が利用できます。パッケージのインストール後、以下を設定ファイルに追加してください:
The above configuration works as expected except when scrolling with a mouse wheel. When you scroll a pager in the ''secondary screen'' with the mouse wheel - and there has been something in the scrollback buffer, instead of the pager itself - the scrollback buffer will be scrolled by the mouse wheel. To solve this issue, it is necessary to introduce a new option into rxvt-unicode[https://bbs.archlinux.org/viewtopic.php?id=132150]. A patched rxvt-unicode is available in AUR as {{aur|rxvt-unicode-better-wheel-scrolling}}. After installing it, add the following to the configuration file:
 
  +
 
URxvt.secondaryWheel: 1
 
URxvt.secondaryWheel: 1
   
54行目: 53行目:
   
 
URxvt.font: 9x15
 
URxvt.font: 9x15
  +
上記の設定は以下と同じです:
is the same as:
 
 
URxvt.font: -misc-fixed-medium-r-normal--15-140-75-75-c-90-iso8859-1
 
URxvt.font: -misc-fixed-medium-r-normal--15-140-75-75-c-90-iso8859-1
  +
同じフォントを太字で使用するには:
 
And, for the same font in bold:
 
 
URxvt.font: 9x15bold
 
URxvt.font: 9x15bold
  +
上記の設定は以下と同じです:
is the same as:
 
 
URxvt.font: -misc-fixed-bold-r-normal--15-140-75-75-c-90-iso8859-1
 
URxvt.font: -misc-fixed-bold-r-normal--15-140-75-75-c-90-iso8859-1
   
  +
X コアフォントの短縮名の完全なリストは {{ic|/usr/share/fonts/misc/fonts.alias}} にあります ({{ic|/usr/share/fonts/}} のサブディレクトリにも fonts.alias ファイルが存在しますが、実際のフォントとは別のパッケージになっているため、インストールされていないフォントも含まれます)。フォントの短縮エイリアスは ISO-10646-1 (Unicode) バージョンではなく ISO-8859-1 バージョンを選択し、100 DPI バージョンではなく 75 DPI バージョンのフォントが使われるため、フォントを選択したいときは長い方の名前を使ってください。
The complete list of short names for X core fonts can be found in {{ic|/usr/share/fonts/misc/fonts.alias}} (there's also some fonts.alias files in some of the other subdirectories of {{ic|/usr/share/fonts/}}, but as they are packaged separately from the actual fonts, they may list fonts you do not actually have installed). It is worth noting that these short aliases select for ISO-8859-1 versions of the fonts rather than ISO-10646-1 (Unicode) versions, and 75 DPI rather than 100 DPI versions, so you're probably better off avoiding them and choosing fonts by their full long names instead.
 
   
  +
上記はビットマップフォントの話で、他のフォントは以下のように Xft で使うことができます:
{{Note|The above paragraph is only for bitmap fonts. Other fonts can be used through Xft using the following format:}}
 
 
URxvt.font: xft:monaco:size=10
 
URxvt.font: xft:monaco:size=10
   
  +
または:
Or
 
 
URxvt.font: xft:monaco:bold:size=10
 
URxvt.font: xft:monaco:bold:size=10
   
  +
{{Note|Xft のフォント名にハイフン (-) が含まれている場合は、バックスラッシュ (\) を2回打ってエスケープしてください。バックスラッシュ1回でエスケープする urxvt の -fn オプションや fc-list の出力とは仕方が異なります。}}
{{Note|If there is a hyphen(-) in an Xft font name, it must be escaped with backslash(\) twice. It's different from the usage of urxvt -fn option and the result that fc-list returns, where backslash present only once}}
 
   
  +
以下のようにターミナルにエスケープコードを出力することで一時的にフォントをテストすることが可能です:
A nice method for testing out fonts in a live terminal before committing to the config is by printing escape codes in the terminal, for example:
 
 
$ printf '\e]710;%s\007' "xft:Terminus:pixelsize=12"
 
$ printf '\e]710;%s\007' "xft:Terminus:pixelsize=12"
   
87行目: 85行目:
 
=== カラー ===
 
=== カラー ===
   
  +
デフォルトで、rxvt-unicode はカラーサポートを有効にしてコンパイルされています。デフォルトの前景色・背景色に加えて、rxvt は256色まで表示することができます (太字・点滅・下線とそれらの組み合わせも可能です)
By default, rxvt-unicode is compiled with color support. In addition to the default foreground and background colors, rxvt can display up to 256 colors (plus high-intensity bold/blinking/underlined and any mix of these).
 
   
It is also possible to specify the color values of foreground, background, cursorColor, cursorColor2, colorBD, colorUL as a number 0-15, as a convenient shorthand to reference the color name of color0-color15. See [[#Xresources]] for details.
+
foreground, background, cursorColor, cursorColor2, colorBD, colorUL 0から15の数字で色を指定することができ、短い名前で color0-color15 の色を使うことができます。詳しくは [[#Xresources]] を参照。
   
{{Note|By default {{ic|urxvt}} uses the same colors as [[Xterm]], except one. Add {{ic|URxvt.color12: rgb:5c/5c/ff}} to Xresources to change this.}}
+
{{Note|デフォルトでは {{ic|urxvt}} [[Xterm]] と同じ色を使用しますが、ひとつだけ違う色があります。変更するには Xresources {{ic|URxvt.color12: rgb:5c/5c/ff}} を追加してください。}}
   
  +
=== 印刷 ===
== カットアンドペースト ==
 
   
  +
デフォルトで、rxvt-unicode は {{ic|PrintScreen}} が押されたときに lpr でスクリーンキャプチャをプリントします。{{ic|Ctrl+PrintScreen}} または {{ic|Shift-PrintScreen}} を使うとターミナルのスクロールバックも印刷されます。設定によって挙動を変更したり無効化することが可能です。
CTRL-ALT-C と CTRL-ALT-V でコピーアンドペーストができます。
 
  +
  +
{{hc|~/.Xresources|<nowiki>
  +
! Disable printing the terminal contents when pressing PrintScreen.
  +
URxvt.print-pipe: "cat > /dev/null"
  +
</nowiki>}}
  +
  +
=== 設定をリロードする ===
  +
  +
設定を変更した後、{{Ic|xrdb ~/.Xresources}} を実行して、設定をリロードします。新しい設定は全ての新しい端末に適用されます。
  +
  +
== カットアンドペースト ==
   
 
Rxvt-unicode はデフォルトで {{Ic|PRIMARY}} セレクションにロードされているカットバッファを使います。詳しくは [http://pod.tst.eu/http://cvs.schmorp.de/rxvt-unicode/doc/rxvt.1.pod#THE_SELECTION_SELECTING_AND_PASTING_ Selecting and pasting text] を見てください。
 
Rxvt-unicode はデフォルトで {{Ic|PRIMARY}} セレクションにロードされているカットバッファを使います。詳しくは [http://pod.tst.eu/http://cvs.schmorp.de/rxvt-unicode/doc/rxvt.1.pod#THE_SELECTION_SELECTING_AND_PASTING_ Selecting and pasting text] を見てください。
   
{{Note|{{Pkg|rxvt-unicode}} 9.20 から [[#Perl 拡張|perl 拡張]]の {{ic|selection-to-clipboard}} を使うことテキストを {{ic|CLIPBOARD}} に選択できます。}}
+
{{ic|ALT-CTRL-c}} {{ic|ALT-CTRL-v}} でコピーアンドペーストできます。
  +
  +
{{Note|選択したテキストは自動的に {{ic|PRIMARY}} にコピーされます。{{Pkg|rxvt-unicode}} 9.20 から [[#Perl 拡張|perl 拡張]] の {{ic|selection-to-clipboard}} を使うことでテキストを {{ic|CLIPBOARD}} にコピーできます。}}
  +
  +
選択した内容を {{ic|PRIMARY}} にコピーし、{{ic|CLIPBOARD}} が選択した内容で更新されていることを確認するには、次を追加します。
  +
  +
URxvt.perl-ext-common: ...,clipboard,...
  +
  +
以下を追加
  +
  +
URxvt.clipboard.autocopy: true
  +
URxvt.keysym.M-c: perl:clipboard:copy
  +
URxvt.keysym.M-v: perl:clipboard:paste
   
 
[[クリップボード#クリップボードマネージャの一覧]]も参照。
 
[[クリップボード#クリップボードマネージャの一覧]]も参照。
   
 
== Perl 拡張 ==
 
== Perl 拡張 ==
  +
  +
次の行を含めることで、URxvt perl 拡張機能を有効にできます。
  +
  +
URxvt.perl-ext-common: extension_name_1,extension_name_2,...
  +
  +
拡張子名の間にスペースを '''入れないように''' 注意してください。
   
 
=== クリックできる URL ===
 
=== クリックできる URL ===
118行目: 145行目:
 
URxvt.keysym.M-Delete: perl:matcher:list
 
URxvt.keysym.M-Delete: perl:matcher:list
   
  +
マッチするリンクに前景色・背景色といった[[#カラー|色]]を付けることもできます。例えば青色なら以下のようになります:
Matching links can be colored with a chosen foreground or background [[#Colors|color]], for example blue:
 
   
 
URxvt.matcher.rend.0: Uline Bold fg5
 
URxvt.matcher.rend.0: Uline Bold fg5
   
  +
他には、{{ic|colorUL}} を使えば #RRGGBB スタイルでの色付けができます。ただし、これはリンクにマッチした部分だけでなく下線付きテキストのすべてに適用されます:
Alternatively, use {{ic|colorUL}} for a #RRGGBB color. This will however color all underlined text, instead of only link matches:
 
   
 
URxvt.colorUL: #4682B4
 
URxvt.colorUL: #4682B4
128行目: 155行目:
 
=== ヤンクできる URL (マウスを使用しない) ===
 
=== ヤンクできる URL (マウスを使用しない) ===
   
  +
また、マウスを使わずに選択した URL をブラウザで開くこともできます。
In addition, you can select and open URLs in your web browser without using the mouse.
 
   
[[公式リポジトリ]]から {{Pkg|urxvt-perls}} パッケージをインストールして適当に {{ic|.Xresources}} を調整してください。例:
+
{{Pkg|urxvt-perls}} パッケージをインストールして適当に {{ic|.Xresources}} を調整してください。例:
 
URxvt.perl-ext: default,url-select
 
URxvt.perl-ext: default,url-select
 
URxvt.keysym.M-u: perl:url-select:select_next
 
URxvt.keysym.M-u: perl:url-select:select_next
136行目: 163行目:
 
URxvt.url-select.underline: true
 
URxvt.url-select.underline: true
   
{{Note|This extension replaces the Clickable URLs extension mentioned above, so {{Ic|matcher}} can be removed from the {{Ic|URxvt.perl-ext}} list.}}
+
{{Note|この拡張は、上で説明したクリックできる URL拡張を置き換えるため、{{Ic|matcher}} {{Ic|URxvt.perl-ext}} のリストから除外してください。}}
   
 
'''キーコマンド:'''
 
'''キーコマンド:'''
143行目: 170行目:
 
! キー !! 説明
 
! キー !! 説明
 
|-
 
|-
  +
| Alt+u || 選択モードに移行。スクリーン上にある最後のURLが選択されます。{{ic|Alt+u}} を繰り返せば更に上にある URL を選択できます。
| Alt+u || Enter selection mode. The last URL on your screen will be selected. You can repeat {{ic|Alt+u}} to select the next upward URL.
 
 
|-
 
|-
| k || Select next upward URL
+
| k || 上にある URL を選択
 
|-
 
|-
| j || Select next downward URL
+
| j || 下にある URL を選択
 
|-
 
|-
  +
| Return || 選択モードを終了して選択した URL をブラウザで開く
| Return || Open selected URL in browser and quit selection mode
 
 
|-
 
|-
  +
| o || 選択モードを終了せずに選択した URL をブラウザで開く
| o || Open selected URL in browser without quitting selection mode
 
 
|-
 
|-
  +
| y || 選択モードを終了して選択した URL をコピーする
| y || Copy (yank) selected URL and quit selection mode
 
 
|-
 
|-
 
| Esc || URL 選択モードをキャンセル。
 
| Esc || URL 選択モードをキャンセル。
190行目: 217行目:
 
=== フルスクリーン ===
 
=== フルスクリーン ===
   
[[AUR]] パッケージ {{AUR|urxvt-fullscreen}} をインストールして、urxvt をフルスクリーンにするキーバインディングを設定することができます:
+
{{AUR|urxvt-fullscreen}} パッケージをインストールして、urxvt をフルスクリーンにするキーバインディングを設定することができます:
   
 
{{hc|~/.Xresources|
 
{{hc|~/.Xresources|
201行目: 228行目:
 
=== フォントサイズを即座に変更 ===
 
=== フォントサイズを即座に変更 ===
   
[[AUR]] から {{AUR|urxvt-resize-font-git}} をインストールして {{ic|~/.Xresources}} の Perl 拡張に以下を追加してください:
+
{{AUR|urxvt-resize-font-git}} パッケージをインストールして {{ic|~/.Xresources}} の Perl 拡張に以下を追加してください:
   
 
URxvt.perl-ext-common: ...,resize-font,...
 
URxvt.perl-ext-common: ...,resize-font,...
   
そして、以下ようにキーバインディングを追加します:
+
デフォルトのキーバイン:
  +
* {{ic|Ctrl++}} (または {{ic|1=Ctrl+Shift+=}}) でサイズを大きくする
  +
* {{ic|Ctrl+-}} でサイズを小さくする
  +
* {{ic|1=Ctrl+=}} でサイズをリセットする
  +
* {{ic|Ctrl+?}} で現在のサイズを表示
   
  +
以下のようにキーバインドを変更することもできます:
URxvt.resize-font.smaller: C-Down
 
URxvt.resize-font.bigger: C-Up
 
   
  +
URxvt.keysym.C-Down: resize-font:smaller
For the suggested Ctrl+Shift bindings to work, a default binding needs to be disabled (see discussion [http://wilmer.gaa.st/blog/archives/36-rxvt-unicode-and-ISO-14755-mode.html here]):
 
  +
URxvt.keysym.C-Up: resize-font:bigger
  +
  +
キーバインドとして Ctrl+Shift を使うなら、デフォルトのキーバインドを無効化しておく必要があります ([http://wilmer.gaa.st/blog/archives/36-rxvt-unicode-and-ISO-14755-mode.html 詳細]):
   
 
URxvt.iso14755: false
 
URxvt.iso14755: false
221行目: 254行目:
 
URxvt.perl-ext-common:
 
URxvt.perl-ext-common:
   
{{Note|If you use multiple Perl extension features, you can list them in succession, comma-separated: {{ic|URxvt.perl-ext-common:default,matcher,tabbed.}}}}
+
{{Note|複数の Perl 拡張を使うなら、次のようにカンマ区切りに並べて記述することができます: {{ic|URxvt.perl-ext-common:default,matcher,tabbed}}}}
   
 
=== インプットメソッドのインライン表示 ===
 
=== インプットメソッドのインライン表示 ===
245行目: 278行目:
 
=== リモートホスト ===
 
=== リモートホスト ===
   
urxvt-unicode を使って、リモートホストにログインるときに、テキストモードプログラム実行時に問題が発生するかもしれせんの場合は{{Pkg|rxvt-unicode-terminfo}} をリモートホストにインストールするか{{ic|/usr/share/terminfo/r/rxvt-unicode}} をローカルホストからリモートホストにコピー {{ic|~/.terminfo/r/rxvt-unicode}} すれば解決できます。rxvt-unicode-256color の場合も同様です。
+
リモートホストにログインしているときに、urxvt-unicode を使ってテキストモードプログラム実行すると問題が発生することがありの場合は {{Pkg|rxvt-unicode-terminfo}} をリモートホストにインストールするかローカルホストの {{ic|/usr/share/terminfo/r/rxvt-unicode}} をリモートホスト {{ic|~/.terminfo/r/rxvt-unicode}} にコピーすれば解決できます。rxvt-unicode-256color の場合も同様です。
   
  +
一部のリモートシステムには TERM=xterm と明記しないと自動的にタイトルが変更しないものもあります。それを修正するには、次の行をリモートマシンの .bashrc に追記してください:
Some remote systems do not change title automatically unless you specify TERM=xterm. To fix the issue add this line to .bashrc on the remote machine:
 
   
 
PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}:${PWD}\007"'
 
PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}:${PWD}\007"'
253行目: 286行目:
 
=== rxvt-unicode を gmrun ターミナルとして使う ===
 
=== rxvt-unicode を gmrun ターミナルとして使う ===
   
  +
他のターミナルとは異なり、urxvt は {{Ic|-e}} への引数としてクォートで囲まれた引数ではなく分割された引数を取ります。この挙動は、クォートで囲まれた引数を期待する gmrun を使うときトラブルになります。これを避けるには、{{ic|.gmrunrc}} にて gmrun の変数である "Terminal" の前に "eval" を置いてください (gmrun はコマンドを実行するのに {{ic|/bin/sh}} を使うため、"eval" は解釈されます):
Unlike some other terminals, urxvt expects the arguments to {{Ic|-e}} to be given separately, rather than grouped together with quotes. This causes trouble with gmrun, which assumes the opposite behavior. This can be worked around by putting an "eval" in front of gmrun's "Terminal" variable in {{ic|.gmrunrc}}:
 
   
 
Terminal = eval urxvt
 
Terminal = eval urxvt
 
TermExec = ${Terminal} -e
 
TermExec = ${Terminal} -e
   
  +
[[Bash]] でいう {{Ic|$@}} と同じように "eval" は {{Ic|-e}} の引数を"分割する"副作用を持つので、コマンドを urxvt に上手く渡せます。
(gmrun uses {{ic|/bin/sh}} to execute commands, so the "eval" is understood here.) The "eval" has the side-effect of "breaking up" the argument to {{Ic|-e}} in the same way that {{Ic|$@}} does in [[Bash]], making the command intelligible to urxvt.
 
   
 
=== テンキーの出力がおかしい (例: vim) ===
 
=== テンキーの出力がおかしい (例: vim) ===
   
  +
Debian GNU/Linux ユーザーによってこの症状が報告されていますが、詳細はわかっていません。TERM=rxvt が互換性あるキーマップを提供していても、どの設定でどのようにして起こるのか不明にも関わらず、間違った TERM 設定によりこの問題が起こる可能性があります。この問題に対する解決策を確認でき、助けになるならレポートしてください。
Some Debian GNU/Linux users seem to have this problem, although no specific details were reported so far. It is possible that this is caused by the wrong TERM setting, although the details of whether and how this can happen are unknown, as TERM=rxvt should offer a compatible keymap. See the answer to the previous question, and please report if that helped.
 
   
However, using the ''xmodmap'' program ({{Pkg|xorg-xmodmap}}), you can re-map your number pad keys back.
+
ただ、''xmodmap'' プログラム ({{Pkg|xorg-xmodmap}}) を使い、テンキーをリマップすることができます。
   
  +
1. {{ic|xev}} プログラム使用時にて数字キー(テンキー)が生成するキーコードを確認。
1. Check the keycode that your numerical keypad (numpad) generates using {{ic|xev}} program.
 
   
* Start the {{ic|xev}} program
+
* {{ic|xev}} プログラムを起動します
  +
* キーコードを入力して {{ic|xev}} が出力する ''... keycode xxx ...'' を探してください。例えば、キーボードによってはテンキー1が ''''keycode 87'''' の "End" キーになります。
* Press your number pad keys and look for ''... keycode xxx ...'' in {{ic|xev}}'s output. For example, numpad 1 in my keyboard is also "End" key, that have a ''''keycode 87''''.
 
   
2. Create or modify your xmodmap file, usually {{ic|~/.Xmodmap}}, with the content representing your keycode.
+
2. キーコードを表現する xmodmap ファイル (大抵の場合 {{ic|~/.Xmodmap}}) を作成あるいは変更してください
   
  +
数字キーを記述した xmodmap ファイルの例:
Example of xmodmap file with number pad keycode:
 
   
 
{{bc|1=
 
{{bc|1=
294行目: 327行目:
 
}}
 
}}
   
  +
3. xmodmap フィアルを X セッションの起動時に読み込む。
3. Load your xmodmap file at X session start-up.
 
   
For example, in {{ic|~/.xinitrc}} file add:
+
例えば、以下の行を {{ic|~/.xinitrc}} に追記します:
   
 
...
 
...
308行目: 341行目:
 
=== 文字を表示するときに遅くなる ===
 
=== 文字を表示するときに遅くなる ===
   
  +
alsamixer や xprop といったプログラムではグラフィックドライバが上手く動かず再描画が酷く遅くなります。{{ic|~/.Xresources}} のオプション "skipBuiltinGlyphs" かコマンドラインオプション {{ic|-sbg}} によって修正可能です。{{ic|~/.Xresources}} に以下の行を追記することで解決します:
Some programs like alsamixer and xprop do not perform well with some graphics drivers and in consequence redraw very slowly. The option "skipBuiltinGlyphs" for {{ic|~/.Xresources}} or the command line option {{ic|-sbg}} may fix this. One possible solution is to add the following to {{ic|~/.Xresources}}:
 
   
 
URxvt*skipBuiltinGlyphs: true
 
URxvt*skipBuiltinGlyphs: true
314行目: 347行目:
 
=== 長い行で動作が遅くなる ===
 
=== 長い行で動作が遅くなる ===
   
  +
{{ic|matcher}} プラグインが原因かもしれません。{{ic|matcher}} プラグインは行が更新される度に正規表現によるマッチを行うため、{{ic|saveLines}} を巨大な値に設定していると問題が悪化します。
The {{ic|matcher}} plugin may be the culprit here. It must match a regex against a line every time the line updates, and if you have a large {{ic|saveLines}} value this can exacerbate the problem by allowing a very large maximum line length.
 
  +
  +
シンプルな回避方法は以下の通りです:
  +
  +
* {{ic|saveLines}} を小さくする
  +
* {{ic|matcher}} プラグインを無効にする
  +
  +
上記の方法が使えない場合、特定の行から URL マッチを無効化させることもできます:
  +
  +
# {{ic|/usr/lib/urxvt/perl/matcher}} を {{ic|~/.urxvt/ext/}} へコピーします (ディレクトリがない場合は作成してください)
  +
# {{ic|~/.urxvt/ext/matcher}} を編集します。サブルーチンである {{ic|on_line_update}} の {{ic|<nowiki>my ($self, $row) = @_;</nowiki>}} の行を見付けてください。270行目のはずです。
  +
# その行の後に、次の行を追加してください {{ic|return () if $row < -100;}} 。これでターミナルの一番上から100行目以降での URL マッチを防げます。
  +
  +
=== 画面の位置とサイズが違う ===
  +
  +
{{Accuracy|This should provide more details on what is considered a "wrong window geometry" since the changelog from 2023-01-02 does not mention window geometry.}}
  +
  +
[http://dist.schmorp.de/rxvt-unicode/Changes 2023-01-02 update] では、{{ic|~/.Xresources}} にいくつかの行を追加する必要がある場合があります。
   
  +
URxvt.geometry: 400x400
There are some simple workarounds:
 
   
  +
=== Neovim で devicons が Nerd フォントを使用している場合でも空の四角形としてレンダリングされる ===
* Reduce {{ic|saveLines}}
 
* Disable the {{ic|matcher}} plugin
 
   
  +
{{ic|~/.Xresources}} で使用する Nerd Font の {{ic|Mono}} バリアントを指定してみてください:
If neither of those are palatable options, you can compromise by disabling URL matching past a certain cutoff point:
 
   
  +
URxvt.font: xft:Fira Code Nerd Font '''Mono'''
# Copy {{ic|/usr/lib/urxvt/perl/matcher}} to {{ic|~/.urxvt/ext/}} (creating the directory if necessary)
 
# Edit {{ic|~/.urxvt/ext/matcher}}, and find the {{ic|<nowiki>my ($self, $row) = @_;</nowiki>}} line in the {{ic|on_line_update}} sub. It should be line 270.
 
# After that line, insert the line {{ic|return () if $row < -100;}}. This disables URL matching on any line that starts more than 100 rows behind the top of the terminal.
 
   
 
== 参照 ==
 
== 参照 ==

2023年12月5日 (火) 04:29時点における最新版

関連記事

rxvt-unicode は細かいカスタマイズができるターミナルエミュレータで rxvt のフォークです。rxvt-unicode の取り柄としては Unicode による多言語サポートや、透過、複数のフォントタイプの表示機能、Perl 拡張のサポートなどが挙げられます。

インストール

rxvt-unicode パッケージでインストールすることができます。

設定

設定と値の完全なリストは urxvt(1)urxvt(7) を見て下さい。

Xresources

rxvt-unicode の外観や機能はコマンドラインの引数や X resources によって制御されます。コマンドライン引数は X resources の設定よりも優先して適用されます。

urxvt --help は全ての rxvt リソースを標準エラーに出力します。各リソースの説明は man ページに存在します。

スクロールバックの位置

デフォルトでは、シェル出力が更新されると、スクロールバックの表示は自動的にバッファの最後にジャンプし、新しい出力を表示します。前の出力 (コンパイラメッセージなど) を表示したい場合は ~/.Xresources に以下のオプションを設定します:

! do not scroll with output
URxvt*scrollTtyOutput: false

! scroll in relation to buffer (with mouse scroll or Shift+Page Up)
URxvt*scrollWithBuffer: true

! scroll back to the bottom on keypress
URxvt*scrollTtyKeypress: true

セカンダリスクリーンのスクロールバッファ

セカンダリスクリーン でページャをスクロールすると (例えば less-X オプションを省略した場合)、端末のバッファではなくページャ内でスクロールできるようスクロールバックバッファを無効にすることをお勧めします。konsole および vte ベースの端末ではデフォルトでこういう仕様になっており動作を変更できません。urxvt で セカンダリスクリーンのスクロールバックバッファを無効にするには:

URxvt.secondaryScreen: 1
URxvt.secondaryScroll: 0

上記の設定は、マウスホイールを使用してスクロールする場合を除いて、期待通りに機能します。マウスホイールでセカンダリスクリーンのページャをスクロールしたとき、スクロールバックバッファに何かがあると、ページャの代わりにスクロールバックバッファがマウスホイールでスクロールされます。この問題を解決するには、rxvt-unicode に新しいオプションを導入する必要があります [1] AUR の rxvt-unicode-better-wheel-scrollingAUR でパッチが適用された rxvt-unicode が利用できます。パッケージのインストール後、以下を設定ファイルに追加してください:

URxvt.secondaryWheel: 1
ノート: perl 拡張の urxvt-vtwheelAUR は上記のオプションと衝突します。

フォントを宣言する方法

URxvt.font: 9x15

上記の設定は以下と同じです:

URxvt.font: -misc-fixed-medium-r-normal--15-140-75-75-c-90-iso8859-1

同じフォントを太字で使用するには:

URxvt.font: 9x15bold

上記の設定は以下と同じです:

URxvt.font: -misc-fixed-bold-r-normal--15-140-75-75-c-90-iso8859-1

X コアフォントの短縮名の完全なリストは /usr/share/fonts/misc/fonts.alias にあります (/usr/share/fonts/ のサブディレクトリにも fonts.alias ファイルが存在しますが、実際のフォントとは別のパッケージになっているため、インストールされていないフォントも含まれます)。フォントの短縮エイリアスは ISO-10646-1 (Unicode) バージョンではなく ISO-8859-1 バージョンを選択し、100 DPI バージョンではなく 75 DPI バージョンのフォントが使われるため、フォントを選択したいときは長い方の名前を使ってください。

上記はビットマップフォントの話で、他のフォントは以下のように Xft で使うことができます:

URxvt.font: xft:monaco:size=10

または:

URxvt.font: xft:monaco:bold:size=10
ノート: Xft のフォント名にハイフン (-) が含まれている場合は、バックスラッシュ (\) を2回打ってエスケープしてください。バックスラッシュ1回でエスケープする urxvt の -fn オプションや fc-list の出力とは仕方が異なります。

以下のようにターミナルにエスケープコードを出力することで一時的にフォントをテストすることが可能です:

$ printf '\e]710;%s\007' "xft:Terminus:pixelsize=12"

フォントの間隔

デフォルトでは文字の間隔が広すぎるように感じられる場合、以下のエントリで調整できます:

~/.Xresources
URxvt.letterSpace: -1

-1 で1ピクセル文字の間隔が狭まります。必要ならばもっと狭めることもできます。

カラー

デフォルトで、rxvt-unicode はカラーサポートを有効にしてコンパイルされています。デフォルトの前景色・背景色に加えて、rxvt は256色まで表示することができます (太字・点滅・下線とそれらの組み合わせも可能です)

foreground, background, cursorColor, cursorColor2, colorBD, colorUL は0から15の数字で色を指定することができ、短い名前で color0-color15 の色を使うことができます。詳しくは #Xresources を参照。

ノート: デフォルトでは urxvtXterm と同じ色を使用しますが、ひとつだけ違う色があります。変更するには Xresources に URxvt.color12: rgb:5c/5c/ff を追加してください。

印刷

デフォルトで、rxvt-unicode は PrintScreen が押されたときに lpr でスクリーンキャプチャをプリントします。Ctrl+PrintScreen または Shift-PrintScreen を使うとターミナルのスクロールバックも印刷されます。設定によって挙動を変更したり無効化することが可能です。

~/.Xresources
! Disable printing the terminal contents when pressing PrintScreen.
URxvt.print-pipe: "cat > /dev/null"

設定をリロードする

設定を変更した後、xrdb ~/.Xresources を実行して、設定をリロードします。新しい設定は全ての新しい端末に適用されます。

カットアンドペースト

Rxvt-unicode はデフォルトで PRIMARY セレクションにロードされているカットバッファを使います。詳しくは Selecting and pasting text を見てください。

ALT-CTRL-cALT-CTRL-v でコピーアンドペーストができます。

ノート: 選択したテキストは自動的に PRIMARY にコピーされます。rxvt-unicode 9.20 から perl 拡張selection-to-clipboard を使うことでテキストを CLIPBOARD にコピーできます。

選択した内容を PRIMARY にコピーし、CLIPBOARD が選択した内容で更新されていることを確認するには、次を追加します。

URxvt.perl-ext-common:  ...,clipboard,...

以下を追加

URxvt.clipboard.autocopy: true
URxvt.keysym.M-c: perl:clipboard:copy
URxvt.keysym.M-v: perl:clipboard:paste

クリップボード#クリップボードマネージャの一覧も参照。

Perl 拡張

次の行を含めることで、URxvt perl 拡張機能を有効にできます。

 URxvt.perl-ext-common: extension_name_1,extension_name_2,...

拡張子名の間にスペースを 入れないように 注意してください。

クリックできる URL

matcher 拡張を使うことでターミナルに表示された URL をクリックできるようになります。例えば、(規定のウェブブラウザを使って) 左マウスボタンでリンクを開くには、以下を .Xresources に追加します:

URxvt.perl-ext-common: default,matcher
URxvt.url-launcher: /usr/bin/xdg-open
URxvt.matcher.button: 1

rxvt-unicode 9.14 から、キーボードを使って最近閲覧した URL を開いたり確認することもできるようになりました:

URxvt.keysym.C-Delete: perl:matcher:last
URxvt.keysym.M-Delete: perl:matcher:list

マッチするリンクに前景色・背景色といったを付けることもできます。例えば青色なら以下のようになります:

URxvt.matcher.rend.0: Uline Bold fg5

他には、colorUL を使えば #RRGGBB スタイルでの色付けができます。ただし、これはリンクにマッチした部分だけでなく下線付きテキストのすべてに適用されます:

URxvt.colorUL: #4682B4

ヤンクできる URL (マウスを使用しない)

また、マウスを使わずに選択した URL をブラウザで開くこともできます。

urxvt-perls パッケージをインストールして適当に .Xresources を調整してください。例:

URxvt.perl-ext: default,url-select
URxvt.keysym.M-u: perl:url-select:select_next
URxvt.url-select.launcher: /usr/bin/xdg-open
URxvt.url-select.underline: true
ノート: この拡張は、上で説明したクリックできる URL拡張を置き換えるため、matcherURxvt.perl-ext のリストから除外してください。

キーコマンド:

キー 説明
Alt+u 選択モードに移行。スクリーン上にある最後のURLが選択されます。Alt+u を繰り返せば更に上にある URL を選択できます。
k 上にある URL を選択
j 下にある URL を選択
Return 選択モードを終了して選択した URL をブラウザで開く
o 選択モードを終了せずに選択した URL をブラウザで開く
y 選択モードを終了して選択した URL をコピーする
Esc URL 選択モードをキャンセル。

シンプルなタブ

urxvt にタブを追加するには、以下を ~/.Xresources に追加します:

URxvt.perl-ext-common: ...,tabbed,...

タブをコントロールするには:

キー 説明
Shift+Down 新しいタブ
Shift+Left 左のタブに移動
Shift+Right 右のタブに移動
Ctrl+Left タブを左に移動
Ctrl+Right タブを右に移動
Ctrl+d タブを閉じる

タブの色は以下のようにして変更できます:

URxvt.tabbed.tabbar-fg: 2
URxvt.tabbed.tabbar-bg: 0
URxvt.tabbed.tab-fg: 3
URxvt.tabbed.tab-bg: 0

フルスクリーン

urxvt-fullscreenAUR パッケージをインストールして、urxvt をフルスクリーンにするキーバインディングを設定することができます:

~/.Xresources
...
URxvt.perl-ext-common: ..., fullscreen, ...
URxvt.keysym.F11: perl:fullscreen:switch
...

フォントサイズを即座に変更

urxvt-resize-font-gitAUR パッケージをインストールして ~/.Xresources の Perl 拡張に以下を追加してください:

URxvt.perl-ext-common:  ...,resize-font,...

デフォルトのキーバインド:

  • Ctrl++ (または Ctrl+Shift+=) でサイズを大きくする
  • Ctrl+- でサイズを小さくする
  • Ctrl+= でサイズをリセットする
  • Ctrl+? で現在のサイズを表示

以下のようにキーバインドを変更することもできます:

URxvt.keysym.C-Down:  resize-font:smaller
URxvt.keysym.C-Up:    resize-font:bigger

キーバインドとして Ctrl+Shift を使うなら、デフォルトのキーバインドを無効化しておく必要があります (詳細):

URxvt.iso14755: false
URxvt.iso14755_52: false

Perl 拡張の無効化

Perl 拡張機能を使っていない場合、完全に Perl 拡張を無効化することでセキュリティと性能を高めることができます:

URxvt.perl-ext:
URxvt.perl-ext-common:
ノート: 複数の Perl 拡張を使うなら、次のようにカンマ区切りに並べて記述することができます: URxvt.perl-ext-common:default,matcher,tabbed

インプットメソッドのインライン表示

urxvt でインプットメソッドをインライン表示にする場合は、以下を ~/.Xresources に追加します:

URxvt.perl-ext-common: ...,xim-onthespot,...

インプットメソッドの指定とプレエディットタイプの設定も必要になります (fcitx の部分は自分が使用しているインプットメソッドに変更する必要があります):

URxvt.inputMethod: fcitx
URxvt.preeditType: OnTheSpot

トラブルシューティング

v9.09 にアップグレードした後に透過が機能しない

rxvt-unicode の開発者によって壁紙を設定するプログラムとの互換性が大幅に削除されました。対応していない壁紙設定プログラムを使うと透過が機能しなくなります。推奨されている壁紙設定プログラムは以下です:

  • feh
  • hsetroot
  • esetroot

完全透過を使うには、URxvt.tintColor と URxvt.inheritPixmap をコメントアウトしてください。

リモートホスト

リモートホストにログインしているときに、urxvt-unicode を使ってテキストモードプログラムを実行すると問題が発生することがあります。その場合は rxvt-unicode-terminfo をリモートホストにインストールするかローカルホストの /usr/share/terminfo/r/rxvt-unicode をリモートホストの ~/.terminfo/r/rxvt-unicode にコピーすれば解決できます。rxvt-unicode-256color の場合も同様です。

一部のリモートシステムには TERM=xterm と明記しないと自動的にタイトルが変更しないものもあります。それを修正するには、次の行をリモートマシンの .bashrc に追記してください:

PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}:${PWD}\007"'

rxvt-unicode を gmrun ターミナルとして使う

他のターミナルとは異なり、urxvt は -e への引数としてクォートで囲まれた引数ではなく分割された引数を取ります。この挙動は、クォートで囲まれた引数を期待する gmrun を使うときトラブルになります。これを避けるには、.gmrunrc にて gmrun の変数である "Terminal" の前に "eval" を置いてください (gmrun はコマンドを実行するのに /bin/sh を使うため、"eval" は解釈されます):

Terminal = eval urxvt
TermExec = ${Terminal} -e

Bash でいう $@ と同じように "eval" は -e の引数を"分割する"副作用を持つので、コマンドを urxvt に上手く渡せます。

テンキーの出力がおかしい (例: vim)

Debian GNU/Linux ユーザーによってこの症状が報告されていますが、詳細はわかっていません。TERM=rxvt が互換性あるキーマップを提供していても、どの設定でどのようにして起こるのか不明にも関わらず、間違った TERM 設定によりこの問題が起こる可能性があります。この問題に対する解決策を確認でき、助けになるならレポートしてください。

ただ、xmodmap プログラム (xorg-xmodmap) を使い、テンキーをリマップすることができます。

1. xev プログラム使用時にて数字キー(テンキー)が生成するキーコードを確認。

  • xev プログラムを起動します
  • キーコードを入力して xev が出力する ... keycode xxx ... を探してください。例えば、キーボードによってはテンキー1が 'keycode 87' の "End" キーになります。

2. キーコードを表現する xmodmap ファイル (大抵の場合 ~/.Xmodmap) を作成あるいは変更してください

数字キーを記述した xmodmap ファイルの例:

keycode 63 = KP_Multiply
keycode 79 = Home KP_7
keycode 80 = Up KP_8
keycode 81 = Prior KP_9
keycode 82 = KP_Subtract
keycode 83 = Left KP_4
keycode 84 = KP_5
keycode 85 = Right KP_6
keycode 86 = KP_Add
keycode 87 = End KP_1
keycode 88 = Down KP_2
keycode 89 = Next KP_3
keycode 90 = Insert KP_0
keycode 91 = Delete KP_Decimal
keycode 112 = Prior
keycode 117 = Next

3. xmodmap フィアルを X セッションの起動時に読み込む。

例えば、以下の行を ~/.xinitrc に追記します:

...
xmodmap ~/.Xmodmap
...

特定のキーの組み合わせが機能しない

Get Alt key to work in terminal を見てください。

文字を表示するときに遅くなる

alsamixer や xprop といったプログラムではグラフィックドライバが上手く動かず再描画が酷く遅くなります。~/.Xresources のオプション "skipBuiltinGlyphs" かコマンドラインオプション -sbg によって修正可能です。~/.Xresources に以下の行を追記することで解決します:

URxvt*skipBuiltinGlyphs:    true

長い行で動作が遅くなる

matcher プラグインが原因かもしれません。matcher プラグインは行が更新される度に正規表現によるマッチを行うため、saveLines を巨大な値に設定していると問題が悪化します。

シンプルな回避方法は以下の通りです:

  • saveLines を小さくする
  • matcher プラグインを無効にする

上記の方法が使えない場合、特定の行から URL マッチを無効化させることもできます:

  1. /usr/lib/urxvt/perl/matcher~/.urxvt/ext/ へコピーします (ディレクトリがない場合は作成してください)
  2. ~/.urxvt/ext/matcher を編集します。サブルーチンである on_line_updatemy ($self, $row) = @_; の行を見付けてください。270行目のはずです。
  3. その行の後に、次の行を追加してください return () if $row < -100; 。これでターミナルの一番上から100行目以降での URL マッチを防げます。

画面の位置とサイズが違う

この記事またはセクションの正確性には問題があります。
理由: This should provide more details on what is considered a "wrong window geometry" since the changelog from 2023-01-02 does not mention window geometry. (議論: トーク:Rxvt-unicode#)

2023-01-02 update では、~/.Xresources にいくつかの行を追加する必要がある場合があります。

URxvt.geometry: 400x400

Neovim で devicons が Nerd フォントを使用している場合でも空の四角形としてレンダリングされる

~/.Xresources で使用する Nerd Font の Mono バリアントを指定してみてください:

URxvt.font: xft:Fira Code Nerd Font Mono

参照