Emacs Part 54 (781レス)
1-

42
(1): 2022/12/28(水)02:41 AAS
>>41
返信ありがとうございます。
shellのバッファで「M-x company-complete」するとカーソル位置で補完候補が現れました。
同じバッファでM-x describe-modeをすると、一覧にCompanyとGlobal-Companyが出てきています。
これは、単にキーバインドが定義されてないってことでしょうか?
43
(1): 2022/12/28(水)10:53 AAS
M-x describe-key
で[TAB]押すとどうなんだろうか
44
(1): 2022/12/28(水)11:05 AAS
(global-company-mode 1) とかやっとけばいいんでないの?
45
(1): 2022/12/28(水)12:29 AAS
>>42
use-packageを使ってませんが、
とりあえずglobal-company-modeは有効にされてるんだと思います。
M-x company-completeで手動では起動できるわけだから、
どのキーにバインドするかは設定が必要だろうし、
tabでデフォルトのshellの補完を奪っていいかどうかも自分次第かと。
46
(1): 40 2022/12/28(水)18:33 AAS
返信ありがとうございます。

>>43
ls ./[ここでdescribe-key TAB]すると、(completion-at-point)にバウンドされてるようです。

>>44 >>45
describe-modeした際にglobal-companyが出てきてるので、global-company-modeは有効になっているように見えます。

>どのキーにバインドするかは設定が必要だろうし、
>tabでデフォルトのshellの補完を奪っていいかどうかも自分次第かと。
なるほど。tabに対してキーバインドは設定していませんでした。
このあたりの仕組みがよくわかってないもので、company-modeを有効にすると自動的に*Completions*バッファが
ツールチップで補完表示されるものかと思ってましたが、そういうものではなく、
省1
47
(1): 2022/12/28(水)19:59 AAS
>>46
普段company-idle-delayをnilに設定してキーで起動していたので勘違いしましたが、
デフォルトのままだと入力するそばから自動的に補完候補を表示しますね。
私はそれが煩わしいので手動で起動するようにしてたんですが、
何かの設定がうまくいってないんですかね?
48: 40 2022/12/29(木)06:59 AAS
>>47
頂いた情報を参考に色々調整した結果、
(setq company-idle-delay 0)
(setq company-minimum-prefix-length 0)
上記設定を追加してみると、shellバッファで文字を打つたびに補完候補が表示されるようになりました。

試しに、
(setq company-minimum-prefix-length 5)
とした場合、
(5文字未満) ls ./[TAB] # *Completions*バッファが表示される。
(5文字以上) ls ./../[TAB] # companyで補完候補が表示される。
省4
49: 2022/12/29(木)11:52 AAS
companyは既存の設定だけでなく、
最終的には自分で補完に使用するbackendsまで作成すればほとんどどんな動作にもできるはずですが、
お話のようにデフォルトの補完completion-at-pointをcompanyで置き換えたいだけなら、
パッケージに同梱されたcompany-capfをcompany-backendsに設定すればよさそうですけどね。
50: 40 2022/12/29(木)14:40 AAS
company-backendsは以下のように設定されていました。

(company-bbdb company-semantic company-capf company-files
(company-dabbrev-code company-gtags company-etags company-keywords)
company-oddmuse company-dabbrev)

リストの中にリストが含まれてるのが怪しいのですが、一応company-capfは入っているようです。
一つ気になったのが、
(use-package company
:config
((global-set-key (kbd "TAB") 'company-complete))
と設定しても、shellバッファでdescribe-key [TAB]をすると、設定されているのは
省2
51
(2): 2022/12/29(木)15:16 AAS
info 読まない縛りでもしてんの?
52: 40 2022/12/29(木)21:40 AAS
質問ばかりですいません。
>>51
infoというのが、companyの公式ページの話であれば読んではいるもののなかなか理解できず苦労してます。
「emacsの情報」という意味であれば、すいません、emacsを使い始めたばかりなので拾いきれてないですね
53: 2022/12/30(金)01:43 AAS
>>51 じゃないけど
M-x info
のことを言ってると思われ
セルフドキュメント方式、てのがググれない時代からあるEmacsの思想の一つなんだわ
で、そういった思想とか調べ方もinfoの中に書いてあった気がする

日本語の方が良いなら
Emacs 日本語マニュアル インストール
あたりでググれ
companyモード用のinfoがあるかは知らん
54: 2022/12/30(金)04:02 AAS
公式のマニュアルにサンプルもあるのでまずそれを試してみては。
外部リンク:company-mode.github.io

とりあえずキーバインドを定義しなくても、
以下のcompany-backendsのサンプルで概ね希望通りの動作になるのでは?
外部リンク[html]:company-mode.github.io

(setq company-backends '((company-capf company-dabbrev-code)))
55
(2): 2023/01/02(月)17:32 AAS
最近font-lock-modeの仕様が変わった?
wanderlustのsummaryでfont lockが効かなくなった、
というか挙動が変なような。
56: 2023/01/02(月)18:20 AAS
>>55
古いバージョンを戻して切り分けてみたら? 少なくともEmacsかそれ以外か分かれば
57
(1): 55 2023/01/02(月)22:05 AAS
すぐに思い浮かばなかったけどwhitespace.el関連の変更が原因でした。
細かい原因はまだ調べてないけど、
とりあえずwhitespace-global-modesから除外すればよさそう。
58
(1): 2023/01/04(水)07:57 AAS
27.2 以前に戻せ。
59: 2023/01/04(水)11:12 AAS
多分、これが原因だから年末頃?

whitespace: Use `define-globalized-minor-mode' for global mode
* lisp/whitespace.el (global-whitespace-mode): Fix interoperability
between `whitespace-mode' and `global-whitespace-mode' by using
`define-globalized-minor-mode'. (Bug#60334)
* test/lisp/whitespace-tests.el (whitespace-tests--global): Add a
regression test.
60
(1): 2023/01/05(木)01:03 AAS
>>58
戻って留まれ。自分が新しいものについていく必要があるとかついていく能力があるとかいう心得違いをしないこと。世界は君を中心に回っていない(甚だ遺憾であろうとは察する
61: 2023/01/05(木)07:30 AAS
戻って留まるにしても、そのための能力が必要なんよな
新しいOSで古いものについていく能力がないと、古いものさえビルドできない
62: 2023/01/05(木)11:39 AAS
今ならdockerとかあるから昔より簡単だよ
63
(1): 2023/01/10(火)14:32 AAS
みんなDocker使ってるの?
Emacs使いはエディタが環境だろ
64
(1): 2023/01/11(水)01:27 AAS
docker全然わからんらん(´・ω・`)
65: 2023/01/11(水)04:15 AAS
>>63
凡人がdockerでやってることをEmacsで再現できてるなら画期的すぎるから、そのノウハウをシェアしたらめちゃくちゃPV取れると思うよ
Software Design辺りで連載の依頼も来るかもしれない
66: 2023/01/11(水)12:39 AAS
>>64
chrootみたいなもんだろ
67: 2023/01/12(木)14:40 AAS
USB起動のLinuxみたいなモン
一旦インスコとか設定をしたら別PCで
全く同じように動かせる

建前上ではそうなってる
68: 2023/01/12(木)15:10 AAS
みたいっていうかchroot使ってるんじゃ?
69: 2023/01/12(木)16:03 AAS
docker = chrootの化け物(ファイルシステムだけじゃなくプロセス空間も分けるよ的な)
70: 2023/01/12(木)20:02 AAS
(・c_・`) ドッカー
71: 2023/01/13(金)11:29 AAS
>>60
新しいものが道具として洗練されているとは限らない

グーグルのための野暮な改悪は新しいとは言わない
1-
あと 710 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.019s