のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:127,488,112人
昨日:no data人
今日:
最近の注目
人気の最安値情報

私的良スレ書庫

不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitter
ログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。

元スレEmacs Part 46

emacs スレッド一覧へ / emacs とは? / 携帯版 / dat(gz)で取得 / トップメニュー
スレッド評価: スレッド評価について
みんなの評価 :
タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
レスフィルター : (試験中)
←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
201 : 名無しさん@お腹 - 2014/08/27(水) 20:38:05.80 .net (+9,-29,-64)
>>200
それはlispの考え方(キーバインド?)が身に付いてないからだな
望んだ場所には C-M-d で行く
他にも C-M-u C-M-f C-M-b を駆使すれば望んだ場所に行けるようになる

これらを覚えればC言語とかでもある程度通用するから覚えるべし
(そうすればカーソルの動きが普通の奴とはあきらかに違くなるw)
202 : 名無しさん@お腹 - 2014/08/27(水) 20:46:28.77 .net (+2,-29,-21)
>>200
ちなみに forward-to-word って何だ?俺のEmacsにはないぞ…
203 : 名無しさん@お腹 - 2014/08/27(水) 22:32:56.37 .net (+28,-29,+2)
>>202
misc.el
204 : 名無しさん@お腹 - 2014/08/27(水) 23:18:11.72 .net (+0,-29,-23)
>>201
ありがとうございます
down-listやbackward-up-listって知りませんでした
なるほどー、出たり入ったりして移動って感じですね
ちょっと考え方変えてみます
205 : 名無しさん@お腹 - 2014/08/27(水) 23:26:09.09 .net (+0,-30,-178)
forward-to-wordは漢字混じりの文章でうまく動かないので、
私はこんな感じのコマンドを使っている。戻る時は只のbackward-wordを使う。
(defun my-forward-word ()
(if (eq (char-syntax (following-char)) ?w) (forward-word 2) (forward-word))
(when (eq (char-syntax (preceding-char)) ?w) (forward-word -1)))
206 : 名無しさん@お腹 - 2014/08/28(木) 01:12:26.33 .net (+61,+29,+0)
>>203
あー、そこにあったのか
サンクス
207 : 名無しさん@お腹 - 2014/08/28(木) 03:57:59.77 .net (+0,-29,-3)
>>197

pymacs からnltkを使うというのはどうだろう
208 : 名無しさん@お腹 - 2014/08/28(木) 04:01:10.57 .net (+31,+3,-6)
pymacs
最近使われてるのみないけど
まだ動くよね?
209 : 名無しさん@お腹 - 2014/08/28(木) 08:53:57.98 .net (+0,+0,+0)
>>205
ありがとうございます!その動きです!

(setq s1 "@@@")
(setq s2 "abc")

ただこういう↑場合に "@@@" だけ無視されちゃうので、文字列の頭で無理やり止めてみました

(defun my-forward-word ()
(let ((p (point)) i)
(if (eq (char-syntax (following-char)) ?w) (forward-word 2) (forward-word))
(when (eq (char-syntax (preceding-char)) ?w)
(forward-word -1))
(when (setq i (string-match-p "[\s\t\n]\"" (buffer-substring-no-properties p (point))))
(goto-char (+ p (1+ i))))))

(defun my-backward-word ()
(let ((p (point)) (re "[\s\t\n]\""))
(backward-word)
(let* ((s (buffer-substring-no-properties (point) p)) (i (string-match-p re s)) i2)
(when i
(while (setq i2 (string-match-p re s (1+ i))) (setq i i2))
(goto-char (+ (point) (1+ i)))))))

>>207
へえ、そんなもあるですか
210 : はちみつ餃子 ◆ - 2014/08/29(金) 05:44:09.65 .net (-1,-29,-29)
ID:Rw3tzfsV0

もっとくれ
吉野屋の続きってないの?
211 : 名無しさん@お腹 - 2014/08/30(土) 03:09:05.39 .net (+40,+22,-1)
どこの誤爆だ?
212 : 名無しさん@お腹 - 2014/08/31(日) 16:31:20.40 .net (-2,-30,-32)
Windows版GNU Emacs24.3で
(setq kill-whole-line t)
が効かないのだけどどうすればいいの?
213 : 名無しさん@お腹 - 2014/08/31(日) 23:11:16.79 .net (-6,-29,-1)
代わりに、C-S-<BS> 使ってみる。
214 : 名無しさん@お腹 - 2014/09/01(月) 02:47:32.35 .net (+52,+29,+0)
どうやらそれはできるようですが。。。
215 : 名無しさん@お腹 - 2014/09/01(月) 03:50:44.87 .net (+9,-30,-90)
windows7上のgnupack版emacs24.3.1で変数kill-whole-lineが有効なことを確認
本家のバイナリは未確認(あるのかすら知らない)

別のモードで上書きされてるとかっていうオチナキがするけど、
関数kill-holw-lineは使えてるみたいだから、好きなキーに割り当てればいいだけじゃないの?
216 : 名無しさん@お腹 - 2014/09/01(月) 04:24:29.41 .net (+3,-30,-145)
使っているのは本家のバイナリです

M-x describe-variables
kill-whole-line やると

kill-whole-line is a variable defined in `simple.el'.
Its value is t
Original value was nil

Documentation:
If non-nil, `kill-line' with no arg at start of line kills the whole line.

You can customize this variable.

て出ます 参考になります?
217 : 名無しさん@お腹 - 2014/09/01(月) 04:44:49.32 .net (+4,-30,-131)
その情報はまったく参考にならないから、elispまったく知らなそうだというのはわかった

想定してる状況がいまいちわからんのだけど、
emacs -Q
で起動して*scratch*バッファで
(setq kill-whole-line t)
と書いてその後ろでCtrl-x Ctrl-eして評価しても、そのバッファでkill-lineの挙動かわらないのかな

本家のバイナリは
http://ftp.gnu.org/gnu/emacs/windows/
のemacs-24.3-bin-i386.zipでいいのかな

あとで確認してみるけど、仮にダメでも
>>215の最後に書いてある解決策じゃだめなのかな
218 : 名無しさん@お腹 - 2014/09/01(月) 04:56:44.60 .net (+3,-29,-70)
あ…ありのまま 今 起こった事を話すぜ!

emacs-24.3-bin-i386.zipを展開して
kill-whole-lineをtにしたら、普通にkill-lineの挙動が変わった

な… 何を言ってるのか わからねーと思うが
おれも何をされたのかわからなかった…

頭がどうにかなりそうだった…
219 : 名無しさん@お腹 - 2014/09/01(月) 05:21:20.61 .net (+57,+29,+0)
全然できません。。。なぜ

emacs腐ってるのかな
220 : 名無しさん@お腹 - 2014/09/01(月) 05:33:53.59 .net (+50,+27,+0)
腐ってんのはemacsじゃないよ
221 : 名無しさん@お腹 - 2014/09/01(月) 05:35:13.03 .net (+57,+29,-2)
自分か
でもまったーくできない
いったい
222 : 名無しさん@お腹 - 2014/09/01(月) 11:00:42.85 .net (+8,-29,-56)
macで開発版の24.4.50をビルドして使ってるけど
確認してみたら変数のkill-whole-line効かなかったわ
関数はちゃんと動いてる
223 : 名無しさん@お腹 - 2014/09/01(月) 11:56:08.76 .net (+52,+29,+0)
マジで頭が原因なのか
224 : 名無しさん@お腹 - 2014/09/01(月) 12:57:33.66 .net (+65,-29,-27)
(setq kill-whole-line t)
した時の挙動を勘違いしてんだろ
225 : 名無しさん@お腹 - 2014/09/01(月) 13:33:18.70 .net (+74,+29,+0)
>>224
その通りだった
俺の頭がおかしかった
226 : 名無しさん@お腹 - 2014/09/01(月) 15:24:35.94 .net (+73,+29,-3)
>>224
それはない
そしていまだに解決できてない
227 : 名無しさん@お腹 - 2014/09/01(月) 16:08:12.39 .net (+49,-29,-16)
>>225がsageてるから偽もんの気がしたがなw
>>226はとにかく emacs -Q で起動して(setq kill-whole-line t)だけの状態で
問題無いかだけ教える
228 : 名無しさん@お腹 - 2014/09/01(月) 16:18:21.30 .net (+83,+29,+0)
>>227
無理でしたーなんでーだーよ!
229 : 名無しさん@お腹 - 2014/09/01(月) 17:54:48.90 .net (+58,+30,-37)
設定ミスでもバグでもないとなると
神の意志による奇跡でお前のemacsだけが
使いにくくなってるという結論以外ありえない
いますぐemacsを削除して全て忘れろ
230 : 名無しさん@お腹 - 2014/09/01(月) 18:07:37.21 .net (-2,-30,-16)
公式バイナリ使って emacs -Q で起動して (setq kill-whole-line t) だけの状態で
駄目ってありえないな
釣り認定する
231 : 名無しさん@お腹 - 2014/09/01(月) 22:03:23.82 .net (+14,-30,-124)
>>227
すまん>>225>>222
(setq kill-whole-line t) したときの挙動を完全に勘違いしてた

'If the variable kill-whole-line is non-nil, C-k at the very beginning of a line kills the entire line including the following newline.

行頭にいるときに行末の改行までkillするだけで行の途中だと挙動変わらないのね
232 : 0 - 2014/09/02(火) 00:04:06.57 .net (+0,-30,-10)
>>231




ずっと C-S-BS = (setq kill-whole-line t) かと、、、



みんな、ごめんなさい
233 : 名無しさん@お腹 - 2014/09/02(火) 00:22:04.11 .net (+45,+13,-1)
setqがキーに割り当てられてるわけないだろ
234 : 0 - 2014/09/02(火) 00:24:47.54 .net (+4,-30,-36)
>>233
C-kの挙動が(setq kill-whole-line t)で
C-S-BSと同じになるのかと思ってたんだ
235 : 名無しさん@お腹 - 2014/09/02(火) 00:35:29.23 .net (+57,+29,-20)
だから勘違いしてんだろとあれ程言ってたのによーー
つうか、勘違い野郎は2人居たのかよ
236 : 名無しさん@お腹 - 2014/09/02(火) 02:47:29.34 .net (+0,-30,-63)
便乗質問ですみません。
こんなコードを

(defun tes ()
(
let (
(a 0
)
(b 1
)
(c 2
)
)
)
)

一発で

(defun tes ()
(let ((a 0)
(b 1)
(c 2))))

にしてくれるコマンドってあります?
237 : はちみつ餃子 ◆ - 2014/09/02(火) 04:01:55.46 .net (+70,-30,-72)
(defun pprint (form &optional output-stream)
(princ (with-temp-buffer
(cl-prettyprint form)
(buffer-string))
output-stream))
238 : 名無しさん@お腹 - 2014/09/02(火) 04:18:33.99 .net (+94,+29,-18)
一発ぶん殴ってコーディングスタイルを更正させる
239 : 名無しさん@お腹 - 2014/09/02(火) 11:45:55.61 .net (+86,+29,-2)
>>237
これをどうやって使うんだ?
240 : 名無しさん@お腹 - 2014/09/02(火) 12:17:18.68 .net (+50,+11,-2)
>>239
元のコード書いたやつにメールかIRCで送りつける
241 : 名無しさん@お腹 - 2014/09/02(火) 13:52:56.91 .net (-1,-29,-8)
common lispのreplにクォート付きで渡せば一発
242 : 名無しさん@お腹 - 2014/09/02(火) 16:35:50.44 .net (+8,-30,-50)
すみませんが、質問です。
ローカルのMySQLにパスワードがないのですが、
SQLi[MySQL] mode を起動する時、パスワードを指定しないようにするには
どうしたら良いでしょう?
243 : 名無しさん@お腹 - 2014/09/04(木) 06:38:55.87 .net (-1,-29,-26)
発作的なdescribe-function
からの~
ソースを閲覧10秒くらい
…してみたら
そういうログイン関数作れば?って感じだった
244 : 名無しさん@お腹 - 2014/09/04(木) 09:00:02.17 .net (-1,-29,-23)
MySQLのコマンドを、パスワード無視するシェルスクリプトにすれば?
245 : 242 - 2014/09/04(木) 10:16:13.70 .net (+62,+29,-53)
ごめんなさい、試し直したら、パスワードのダイアログで
何も入力せずEnterを押すだけでログインできました。
環境構築中だったので、何か別の原因でログインできなかったようです。
ご回答いただいた方、ありがとうございました。
246 : 236 - 2014/09/05(金) 14:25:19.45 .net (+71,+29,-38)
>>237,241
ありがとうございます。一発で一行になりました。
いい感じにインデント付け直すには自前でやるしかないですかね。

>>238
相手は過去の自分なんですw
247 : 名無しさん@お腹 - 2014/09/05(金) 15:10:32.55 .net (-1,-29,-3)
indent-regionとかじゃだめ?
248 : 名無しさん@お腹 - 2014/09/05(金) 17:19:18.19 .net (+0,+0,+0)
>>236
(defun my-inside-string-or-comment-p (&optional point)
(let ((point (or point (point))))
(save-excursion
(let ((state (parse-partial-sexp (point-min) (point))))
(or (nth 3 state) (nth 4 state))))))

(defun my-pretty-lisp-code-region (start end)
(interactive "r")
(save-excursion
(save-restriction
(save-match-data
(narrow-to-region start end)
(goto-char (point-min))
;; 正規表現の "[^?\\]" は文字リテラル ?( 及び ?\( への誤一致回避のため
(while (re-search-forward "\\([^?\\](\\)[ \t\n]+" nil t)
(unless (my-inside-string-or-comment-p)
(replace-match (match-string 1))))
(goto-char (point-min))
(while (re-search-forward "[ \t\n]+\\()\\)" nil t)
(unless (or (my-inside-string-or-comment-p)
;; 直前の行末尾がコメント内であれば何もしない
(save-excursion
(forward-line -1)
(end-of-line)
(my-inside-string-or-comment-p)))
(replace-match (match-string 1))))
;; ついでにインデント
(indent-region (point-min) (point-max))))))
249 : 名無しさん@お腹 - 2014/09/05(金) 18:07:42.79 .net (+0,-30,+0)
>>236
>>248
末尾が "(" なコメントが含まれているとその次の行をコメント行に連結してしまう不具合を修正

(defun my-inside-string-or-comment-p (&optional point)
(let ((point (or point (point))))
(save-excursion
(let ((state (parse-partial-sexp (point-min) point)))
(or (nth 3 state) (nth 4 state))))))

(defun my-pretty-lisp-code-region (start end)
(interactive "r")
(save-excursion
(save-restriction
(save-match-data
(narrow-to-region start end)
(let ((regexps '("\\([^?\\](\\)[ \t\n]+" "[ \t\n]+\\()\\)"))
re)
(while (setq re (pop regexps))
(goto-char (point-min))
(while (re-search-forward re nil t)
(unless (my-inside-string-or-comment-p (match-beginning 1))
(replace-match (match-string 1))))))
(indent-region (point-min) (point-max))))))
250 : 名無しさん@お腹 - 2014/09/05(金) 22:03:00.16 .net (+0,-29,-42)
>>248-249
ありがとうございます!!
凄い、こんな短いコードで出来るんですね。色々と勉強になりました。

ちなみに最初のバージョンにあった直前の行のチェックはやっぱり必要ですよね。
こんな時に最後の ")" がコメントに行っちゃうので。
(defun tes ()
;; comment
)
←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / emacs スレッド一覧へ
スレッド評価: スレッド評価について
みんなの評価 :
タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

類似してるかもしれないスレッド


トップメニューへ / →のくす牧場書庫について