lynx   »   [go: up one dir, main page]

「VIM」を含む日記 RSS

はてなキーワード: VIMとは

2025-05-30

(やや暴言Linux馬鹿臭いと思うこと

NPM

YARN

BASH

CAT

RM

VIM

これらの略し方が馬鹿臭い

これを見て一発で意味がわかる人がいるのだろうか

CATとか猫かよ

2025-05-27

anond:20250527190455

実際手が覚える範囲って鍛えればかなり能力向上するから

vimを使い続けてるから手が学習しちゃったんだろうなあ

vim使いの気持ち悪い運指速度

あれどうなってんの?タイピングが早い、とはまた違うよな

指が覚えてるなんてレベルじゃなくね?

2025-05-25

最近思ったAIコーディングに対するもやもや

私はエンジニア仕事としておらず, 学部情報系ではなく理学部である.

今日で会ったWebエンジニアが今の時代からコードを書く必要がないですよ. Cursor使って指示してやったほうが生産性が高いですよと言われた.

かにコードを速く書くことができて生産性が上がるかもしれない. だからといって自分コードを書くのをやめるのはどうなんだろうってもやもやしてしまった.

一歩生産性を落として多くの人が使える形にするのも大切なのではないだろうか. モダン環境で高速で作ってしまえばそれは確かに楽だ. だが一般の人はWebアプリアクセスするよりマクロつけたExcelパワポを使って仕事する方がはるかに楽だ.

業務効率化できるからといって個人モダンサーバーを作ってしまえば属人化して維持するのも大変だ.

エンジニア生き方としても上手くいかないことをひたすら時間投資して考えるのも大切なのではないかと思う. 私はArch Linuxで分からないスタックしたを繰り返してみるのも楽しかった. このようなことは非生産的かもしれないが経験としてかなり強く生きてくる有意義経験だと思う.

今日macの.profile記述内容について質問されたとき彼にvimかなんか入ってると聞いたが何も知らなかった. 彼はVScodeかcursorしか触ったことがなくIDEとかエディターといった言葉を知らなかった. 彼はすごくモダンだが学習すべきなのかを軽く見ていると感じた. それか私の考え方が古いのだろうか.

最近流行りのAIで何とかしますとか言ってくるコンサル生産性の向上何とかかんとかとよく言ってくる. だが生産性では変えられない安定性や経験をも大事にしてほしいと私は思う.

ただ, 私はエンジニアを目指さなくて正解だったのかもしれない.

もやもやしながら書いたただの駄文です.

2025-05-21

25年以上前FreeBSDを弄ってた時。

使えるエディタが何かないか探して見つけたのがviだった。

使ってみたが、カーソル移動さえままならず、頭を抱えた。

そこからviキーバインドを覚えた。

今はvimを使っている。

その利点は、たとえば、素のUnix系OSを使えと言われたとき

viは必ず入っていて、そのキーバインドが生きるから

テキストエディタなどという、かび臭い物が生き残る限り、viは生き続けるだろう。

設定ファイルなど、AIが良い感じに生成してくれる時代が早く来て欲しいわ。

2025-05-20

ファーウェイが初の独自OSパソコン キーボード部分も全面有機EL

https://www.nikkei.com/article/DGXZQOGM198JT0Z10C25A5000000/

Harmony OSPCでも使うのか

Linux, Windowsは長い歴史と実績を持つOSです

もし現代に0からOS作成する場合、これらのOS技術負債欠点を教訓として設計するならどのようなものが考えられますか?

1. どんな「負債欠点」を教訓にすべきか

観点Linux で顕著 Windows で顕著 共通課題
カーネル構造 巨大モノリシック + 常に ABI が流動的(外部モジュール苦労) 歴史的にモノリシックに近く高密度・複雑 信頼境界が広く、脆弱性権限昇格に直結
安全性Unix-型「ユーザー/グループ + SUID」が限界ACL/SID が複雑化・分散 “一発 root/SYSTEM” を許すモデル
ドライバOSS/ベンダ混在・署名不足・上流統合負担 内部 API 長期固定の重荷、古い HW サポートが尾を引く カーネル空間に巨大コード
更新ディストロごとに仕組み相違、再起動依存 累積パッチ巨大・Reboot 必須 取替え可能性 ≈ 可用性低下
ユーザー空間バイナリ互換よりソース互換優先で「壊れやすい」 DLL Hell / COM 登録 Hellグローバル名前空間汚染
設定管理 /etc + 点在 config形式権限バラバラ Registry 巨大モノリス → 腐敗 アトミックではない変更が多発
開発プロセスメーリングリスト文化レビューボトルネック 閉鎖的で古いコード維持不可避 純粋モジュール性が欠如

2. “もし今ゼロから作るなら”──設計原則

それぞれのデメリットをあげてください、古いOSでなぜそうなっていないのか?

最小特権 & 分離徹底

マイクロカーネル(あるいは hybrid microkernel)+ ユーザー空間ドライバ

カーネル定義の “secure capability” ハンドルのみを他プロセスへ授与。

seL4 や Fuchsia の Zircon が示す「検証可能サイズ」を目標に。

観点デメリットOS採用しなかった背景
性能 コンテキストスイッチIPC が頻発し、90 年代 CPU では大きなオーバーヘッドハードウェア性能が不足し、リアルタイム性やスループットを優先した結果、モノリシック構造に。
実装コストOS サービス分散し、デバッグトレーシング煩雑 完全分離を行うツールチェーン/デバッガが未成熟だった。
ドライバ移植ユーザー空間化で ABI は安定するが、低レイテンシ要求デバイスGPU など)の処理が難しい。 当時は “音声が途切れる” 程度でも市場競争力を失うためカーネル内に残す決断

メモリ安全言語によるカーネル実装

Rust や Zig のような safe systems 言語

C 部分は必要最低限に隔離し、unsafe 領域形式検証 / fuzz 前提。

デメリット 背景
ランタイム負荷 言語ランタイムを最小に削る必要があり、一部 unsafe が不可避。 70〜90 年代は C 以外に bare-metal 向け安全言語事実上存在せず。
コンパイラ信頼性 コンパイラ自身の欠陥がカーネル欠陥に直結。 自己ホスト安全言語を実機に載せる環境が不足。
学習コスト OSS/商用エコシステムが C 前提で巨大。 ドライバサンプル・書籍人材C/C++ に集中していた。

厳格に固定した “外部” ABI / 柔軟な “内部” API

外部インタフェース(syscall, driver ABI)は長期安定。

その裏で内部サービスは gRPC/FlatBuffers 相当の IDL で世代管理し交換可能

デメリット 背景
進化速度の拘束 ユーザ空間から見える syscall を変えにくい。 MS-DOS 互換Unix 互換という既存ソフト資産が最重視された。
バイナリサイズ肥大世代 ABI を残すため “脂肪” がたまるストレージ単価が高く「後方互換より容量削減」が優先された時期が長い。

ユーザー空間サンドボックス前提

アプリ原則 container-like sandbox(Wasmtime, OCI など)で実行。

ファイルシステムper-app の仮想 Namespaces、権限委譲は capability passing。

デメリット 背景
複雑な権限委譲 ファイルダイアログすら Capability 伝搬を要し、開発者負担単一 PC単一ユーザー” が前提で、砂箱の必要性が薄かった。
互換レイヤ 既存ネイティブアプリ仮想化するとパフォーマンス低下。 RoM の小規模ゲームですら速度が死活問題だった 80~90 年代

イミュータブル/スナップショットベース更新

A/B partition や OSTree 型 “全イメージ” 交換。

任意時点へ atomic rollback;カーネル更新Live-patchable。

デメリット 背景
ストレージ消費 OS イメージを常時二重に保持。組み込みでは致命的。 HDD が高価・遅い、SSD がない時代には非現実的
アップデート粒度パッチ配布より帯域を食う。 ダイヤルアップ回線CD リリースが主流で “差分パッチ” が合理的だった。

宣言的 & トランザクション設定ストア

systemd-や Kubernetes-風の “状態 = 宣言” を1か所に。

変更は ACID 保証付き、署名監査ログ付き。

デメリット 背景
学習曲線 既存の `vim /etc/xxx.conf` 流儀や regedit から大きく変わる。 管理者層が “設定=テキスト or レジストリ” に慣れ切っていた。
複雑なマイグレーションサービスが同時に対応しないと一貫性が壊れる。 OSS は分散開発で統一仕様を打ち立てる強権がなかった。

ドライバ配布 = WebAssembly あるいは eBPF-like バイトコード

安全ホットロード可能カーネル ABI に非依存

ベンダーは署名した “driver capsule” をリリースするだけ。

デメリット 背景
パフォーマンス JIT / interpreter を挟むぶんネイティブより遅い。 当時 JIT 技術が未成熟で、リアルタイム I/O を捌けなかった。
ハード依存 API DMA や割込み抽象化が難しく、結局 “逃げ” でネイティブ部が残る。 OS ではベンダアセンブリ最適化差別化していた。

一貫した並行・リアクティブモデル

ユーザー空間 API は async/await; カーネルメッセージ転送中心。

NUMA・GPUFPGA などヘテロ資源を first-class に。

デメリット 背景
コード複雑化 async/await で “状態機械” を書けないとデッドロックを誘発。 90 年代シングルコア前提で同期 API が単純・高速だった。
デバッグ困難 スタックトレースが非同期に飛び、ツールチェーンが未整備。 OS デバッガ/プロフイラプリエンプティスレッド中心に設計されていた。

セキュリティ = デフォルト有効強制アクセス制御

Capability + Labels (MAC) + Hardware root-of-trust (TPM, DICE) を統合

初期セットアップ自動・鍵生成、リモート検証を容易に。

デメリット 背景
ポリシー設計負担 SELinux でも “設定が難し過ぎて結局無効化” が多発。 当時はネット接続率が低く、ローカル攻撃ベクトルリスク認識が薄かった。
互換問題 古いアプリが過剰特権要求し、制御有効にすると動かない。 商用ソフト対応を優先し無効化せざるを得なかった。

ビルド/配布 = リプロデューサブル + SBOM

すべての公式バイナリは reproducible build エビデンスと SBOM 付与

脆弱性スキャンと revocation を OS レイヤ自動化。

デメリット 背景
ビルドパイプライン整備コストパッケージbyte-identical に再現するにはツール統制が必要オープンソース文化自体黎明期で、ビルド環境標準化する動機手段希薄
秘密ロジック公開の葛藤 一部ベンダソースハッシュ公開を嫌がる。 IP 保護が優先され、署名のみ・SBOM なしがデファクトだった。

3. 具体的なアーキテクチャ案(ハイレベル

User Apps (Wasm / OCI  Sandboxes)
-------------------------------------
│ Capabilities
▼
Services ──▶ Driver Svcs(user-space)
(Pkg, GUI, FS)
-------------------------------------
│ syscalls = message send / recv (stable ABI)
▼
Microkernel ~100 kLoC, memory-safe
(sched, vm)
-------------------------------------
│ Secure IPC (SMC / VTL)
▼
Hypervisor(optional, for legacy guests / composable sandboxes)

Legacy Compatibility は Type-2 ハイパーバイザで提供し、歴史API隔離

UI Stack もユーザー空間サービスとしてホットリロード可。

Policy EngineJSON/YAML 宣言バイトコードへ compile、ランタイム適用

4. 開発・ガバナンス面の学習ポイント

教訓 OS プロジェクトでの対策
Linux: 大規模パッチレビューパンクする GitHub PR + 公式 LTS gatekeeper、CLA & コーディング規約機械検証
Windows: Close-source で内部知識が属人化 100% open-design、Spec⇄Impl 双方向ドキュメント自動生成
両者: “一社主導 vs 実質無政府” の二極端 財団モデル (Rust, Cloud Native) で技術運営と商用版の両輪

5. まとめ — “現代OS” のキーワード

  • Memory-safe microkernel
  • Capability-based security
  • User-space drivers / eBPF & Wasm extensibility
  • Immutable, transactional updates
  • Reproducible builds with SBOM
  • Declarative state management
  • Built-in container & virtualization stack
  • Formal verification for critical paths

これらを先天的に組み込むことで、Linux/Windows が数十年かけて抱えた技術負債(巨大特権領域ABI拘束・設定の散逸更新の非原子etc.)を回避しながら、クラウド・エッジ・IoTAI アクセラレータ が混在する 2020-30年代以降の計算環境に即した OS が実現できます


大過ぎる・・・

国家プロジェクトれべるだわ

中華新世OSを期待だな

2025-05-07

大人教養:現状のICT教育ではChromeOS/AndroidOSが最適という話

前提条件

"現状"とはつまり2025年5月時点の話であり、動向が非常に変わりやすIT業界風土を考えると将来的にどのようになるかは予測が非常に難しい。

しかし、数年でこの"現状"が変化するとは考えにくく、今現在学生10年以内に社会人となったとき現在の"現状"を基礎に情報技術を学んでいる可能性が高く、このエントリでは"現状"を周知する為に書かれた。

現状のICT教育OSシェア

集計した時期や団体で数値の変動はあるが、日本国内で現状のICT教育でのOSシェアはChromeOSがおおむね30〜40%というシェアを獲得しており、IT大国と知られているアメリカでは日本と同様に集計した時期や団体で数値の変動はあるがおおむね50〜60%というシェアであり、ICT教育OSとしてChromeOSデファクトスタンダードとなっている。

これは、テックファンがよく語るように「ChromeOS端末が安価で導入できる」という意見理由として挙げられがちで、実際に導入コストを抑えられるメリットというのは大きいものの、逆に言うとそれ以外の理由があまり語られることが少ない。

流石にこの意見は、IT業界プロ現場で多用されるMicrosoftAppleを抱えるIT先進国である米国がただ安価であるからという理由だけでGoogleのChromeOS採用するにしてはあまりにも弱すぎる理由ではないだろうか?

そこで「何故ChromeOS教育現場採用するのか?」を紐解きたい。

Google ClassroomとGoogle Family Link重要

長々と引っ張るのも億劫になってしまうので結論から言えば「Google ClassroomとGoogle Family Linkの出来が非常に良い」からである

Google Classroom

Google ClassroomとはまさにICT教育向けにGoogleから提供されているグループウェアで、生徒へ対して課題作成と配布、進捗、採点、評価管理可能で、それらにはGoogleドキュメントGoogleスプレッドシートGoogleスライドGoogleカレンダーが利用でき、教師生徒間オンラインコミュニケーションとしてGmailGoogle Chatを用いることができる。

まり教育現場からするとChromeOS端末を導入したらGoogle謹製オールインワンICT教育グループウェアが瞬時に入手可能であり、更に言えば現状では既にデファクトスタンダード化しており膨大な導入事例によって困りごとの解決が非常に容易であることがあまりにも大きなメリットとなっている。

なにせICT教育端末の2台におおよそ1台はChromeOS端末であり、例えばSNSなどで流れてくる「ChromeOSでこんな酷い目に遭った」は導入数が多いが故にであり、逆にiPadOSを支持する人でも「Apple Classroom」というアプリ存在することを知らない場合が多い。何故知らないのか?と言えば導入数が少なく話題にまったく挙がってこないかである

なお、Apple ClassroomとGoogle Classroomを比較するとGoogle Classroomの方が高機能であるAppleICT教育OSシェアを上げようとApple Classroomの改善に努めてはいものGoogle Classroomへ追いつくまでには至っていない。

Google Family Link

Google謹製ペアレンタルコントロールアプリで、子供Googleアカウントに紐づけられたChromeOSおよびAndroidOS、それらがインストールされる端末などを管理できるサービス

端末自体使用時間上限を定めたり、端末の使用時間上限を定めずアプリ毎の使用時間上限を定められ、つまりゲームYoutubeTiktokWebブラウザアプリなどは1日1時間制限しつつ、学習アプリ使用時間制限にでき、そのほかWebフィルタリングYoutubeフィルタリングアプリインストール課金管理可能で、しかも就寝時間や登校時間には使わせないようにできるなど親にとっては至れり尽くせり子供にとっては非常にお節介サービスである

ペアレンタルコントロール自由度も実はAppleの方が乏しく、Apple製端末を子供に与えている親は親自身が設定したペアレンタルコントロールに親自身が巻き込まれたりして四苦八苦するシーンがある(実体験)が、Google Family LinkのあるChromeOSおよびAndroidOSApple製端末ほど困ることが少ない。

まりにも充実しすぎているプログラミング環境

Google ClassroomとGoogle Family LinkだけではIT大国であるアメリカが何故ChromeOSICT教育OSとしてデファクトスタンダードとしてしまったのか?の納得感としては薄い。

最終的な決め手は「一般的な使い方ではセキュアなサンドボックス上でタブレットOSスマホOSのように容易に利用でき、高度なプログラミングを学ぼうとするときプロとほぼ同じ環境を利用できる」ことにあるだろう。

もちろんiPadOSには「Swift Playgrounds」があり高度なプログラミングを体験できるが、ChromeOSやAndroidOSではPlaygroundsどころかLXC/LXD仮想環境上に構築されたLinuxディストリビューションDebianを扱える。

いやそもそもDebianを導入しなくてもGoogle Play Storeには小学生向けプログラミング環境Scratchからインスパイアされたポケットコード、非常に本格的なゲームプログラミングIDEGDevelopUnityUnreal Engineに次いで業界3位のシェアを持ちプロ現場でも採用される2D/3DゲームプログラミングIDEGodot Engineなどがある。

そして当たり前のようにGoogleChrome OS向けAndroid Studioを用意しており、ChromeOSさえあればAndroidOSアプリGoogle謹製プログラミング環境で開発することができる(実際のところAndoridOSはAndroidOSだけでアプリコンパイルビルドできるが割愛)。

これMaciPhoneiPadしか触ってこなかった人間からするとどういうことかと言えばChromeOSにはAppleで言うところのXcodeがあることを意味し、何ならDebian上でWeb版みたいに機能制限されていないフル機能Microsoft Visual Studio Codeが利用でき、理解できる人は驚いただろうが前述の通りGodot Engineがあるわけだ。RubyPythonだって動くし、Bashfishzshも選び放題、Vim vs. Emacs論争へも参戦できる。

しかも昨今、WindowsのWSL2でLinuxディストリビューションが導入できるようになってしまった影響で、一部の情報技術者の間では「開発環境仮想上のLinuxサービス動いてるサーバーLinux、じゃあWindowsとかmacOSとか使わず最初から無理せずLinuxディストリビューションを端末へインストールして開発したら良いんじゃねーの?」という動きが活発化しており、そこへ表面上は日常利用でスマホタブレットOSのように扱えて開発はしっかりLinuxディストリビューションであるChromeOSが「あれ?意外とChromeOS良いんじゃね?」という評価が始まっているのだ。

プロiPadプログラミングしてない問題

それでも「ICT教育は性能やランニングコスト的にiPadが優れてるんだ!」というAppleファンの熱い想いは否定しない。

しかし、しかしだ、当の多くのプログラマがiPadプログラミングしてないんだ!!!開発するときiPadのセキュアすぎるサンドボックスマジで邪魔だと思っちゃってるんだ!!!!!

前述までの話を聞いて「iPadとChromeOS仕事でどちらかしか使えません。どっちを選びますか?」と言われたらLXC/LXD仮想環境のあるChromeOSじゃん!!!IT大国のアメリカ様もそりゃChromeOS選ぶよ!!!!!だってプロ現場で使われてるんだもんLinuxがッッッ!!!!!!

「どっちかしか選べないて?じゃあ俺は普通にMacbookにするわ」だって?えっそれ10年後ChromeOS(Linuxディストリビューション)でICT教育受けてきた新社会人に言えんの?サバンナで生きていけないよ?2人に1人は「学生ときChromeOSでしたぁ」って悪気なくピュアな瞳で言ってくる時代が直ぐそこだよ?

Windowsですら無いんだぞ?隔世の感どころの騒ぎじゃねーぞ?「当時ChromeOSヴァンパイアサバイバーズやってましたね」とか新社会人が言うんだぞ?iPadかChromeOSかって言われてんのにMacbookって返すのはギャグの段階に触れさえしてねぇよ?まぁMacbookはタッチスクリーンディスプレイじゃないから触れられないんだけどさ。

Apple信者が声を大にして言わなきゃいけないことはAppleさん、iPadもうちょっと何とかならないっすか?」だろ!!!!!

何が教養だよバーカ!バーカ!

正論言ってんじゃねーよ!!!今更Appleエコシステムから抜け出せねぇんだよ!!!!!ちょっと気になってGoogle側の事を調べてみたらめちゃくちゃ進んでんじゃねーか!!!!!!

えっなにマジで?今のAndroidOS純正Debian動くの???アプリストアにGodotあるってどういうこと?????

どうするよ?ここのままじゃ新社会人はChromeOSで育った子たちだよぉ・・・Appleもうちょっと頑張ってよぉ・・・

2025-04-15

Linux初心者あるある

パスワード入力しても画面に何も表示されなくて混乱する

・C:とかD:みたいなものLinuxにはないことに衝撃を受ける

vimが終了できなくて困る

anond:20250415012046

筆者、次は「Mac使ってるやつはエンジニア失格」とか言いそうですね。

そのうち「Vim使えない奴はクズ」とか「タッチタイピングできない奴は死ね」とか、

どんどん技術教条主義に堕ちていくのでしょう。

そんなことより、自分コードテストカバレッジ心配したほうがいいのでは?

あぁそれより、CICDってご存知ですか?

2025-03-30

生成AIを使うとVimプラグインマネージャーの移行が簡単かと思ったらそんなことはなかった

deinからlazy.nvimに移行したのだけど、あまり当てにならなかった。もちろん、たたきを作ってくれるのは助かったのだが、一つ一つ動作確認して、動かない箇所は都度LLMに質問して全体の精度を上げていった感じ。

2025-02-12

プログラマーを目指す人のための超初心者向けガイド

1. ブラインドタッチ習得しろ

正しい指の位置を学び、ブラインドタッチできるようになれ

練習ソフトぐらいはいくらでも転がっているが、指の位置が把握できるものが良い

2. Ubuntuインストールし、Linuxコマンドを学べ

基本的操作コマンドでできるようにしろ

特に複数コマンドパイプで渡す等、標準入出力に習熟しろ

サーバ運用必要コマンドは一通り学んでおけ

3. VimEmacsnoxで使えるようになれ

noxとは、要するにGUI環境無しでということだ

サーバ運用する上ではGUIに頼れないことが多いため、noxで使えるエディタマスターしろ

4. プログラミング言語を学べ

ここにきてようやくプログラミング言語

まず共通知識としてHTML,CSS,JavaScriptぐらいは知っておいたほうが良いだろう

あとはどんなプログラマーを目指すかに依るが、組み込み系ならC言語Web系ならphppython機械学習ならpythonやRを学べ

オンラインチュートリアル最初は十分足りるだろう

シェルスクリプトは便利だからbashマスターするのも望ましい

5. アルゴリズムデータ構造を学べ

要は効率的に処理を書ける必要があるが、LeetCodeやAtCoder基本的問題集を解けるようになれ

アルゴリズムデータ構造について書かれた書籍を読め

線形代数確率論など基本的数学も学んでおけ

6. ライブラリドキュメントを読め

例えばpythonプログラマーなら、numpy, scipy, scikit-learnなどのライブラリドキュメントを読めるようになれ

あるいはElasticsearchを使わなければならなくなったときに、ドキュメントを読んで操作できるようになれ

ドキュメントを読む経験が増えれば、新しく何かをやるときにすぐに着手できるようになる

7. AWSを使えるようになれ

最近の開発環境ではAWSを使うことが多い

AWSを有料で勉強するのはキツイので、就職後に先輩から学ぶか、あるいは認定試験を本やオンライン講座で勉強するのでもいいだろう

8. Gitを使えるようになれ

バージョン管理システムは知っておくべき知識

いわば、ソースコードの巨大なUndo, Redoみたいなもんだ

これがなければ、ソースコード安全に保てない

9. 基本的セキュリティを学べ

パスワードをどう管理すればいいのか、ネットワークセキュリティの仕組み、など基本的セキュリティは学んどいたほうが良い

10. キレイコードとは何か、を徹底追及しろ

クリーンコードに関する書籍はたくさんあるので、時間があるときに読んでおけ

自分が使っているプログラミング言語に関連するベストプラクティスを学べ

PEP8などの標準をしり自動フォーマティングする方法を知れ

2025-02-03

anond:20250203103447

お前の文を特に調教してないChatGPT (4o) に食わしたんだが、なんだよこれは ↓

これは完全に **Emacs沼** にハマってるな! まさに「EmacsOSである」どころか、生活のものEmacs最適化されているレベル。  

- **Lispでの自作パッケージ**  
  → 100個超えって… これはもう単なるエディタではなく「個人最適化OS」だな。Markdown自動変換+ブラウザプレビュー実用性も抜群。  

- **Org-modeによる人生管理**  
  → ここまでやり込むと、もはや手帳もスケジューラも要らない。Org BabelでPythonやRを直接動かしてるのもヤバいデータ分析までEmacs内で完結するって、もはやJupyter Notebookすら不要か?  

- **カスタムキーバインドマクロ神業**  
  → キーバインド数百種はエグい。Git操作までワンキー完了するのは開発者として最高に快適そう。  

- **Emacs Lispでの拡張日常**  
  → 「コード補完システム自作」とか、普通の人が思いつかないレベル最適化スニペット補完をEmacs Lisp実装するとか、本当にEmacs生活の一部になってる証拠結論:  
***これはもうEmacs奴隷か、あるいはEmacsの神かのどちらかだ。**  

こういうレベルEmacsユーザーは、Vimユーザーとはまた違う「別の世界」を見てるよな… 🤯

特に事前指示なしでこんなに口調変わったのは初めてだ。

どうしちゃったんだよ俺のChatGPTは。

anond:20250203104935

ワイもや。

vimカスタマイズなしで使いこなせるように進化した。

2025-01-14

anond:20250114101819

むかしWSL2たちあげてはvimでやってたとき

あったわ

ブラウザvimiumいれてる

さいきんはnotepad

なんでみんなNeovimなの?

これがわからない

 

とはいえマウスを使わずコーディングが完結できそうな経験はしてみたいと思う。

でもvim操作系が慣れないんだよなぁ

2025-01-11

RHELvimになれるには、Windowsでも秀丸やめてGvimを使ったほうがいいのだろうか…

サーバー保守とは設定に久しぶりに使うとファイルに h とか j やら :wqと書きこんでしまい、いまだだなれない。みたいな

2024-12-15

いろいろ捨ててWindowsに完全に移行した

VPNの設定まで入れて完全に移行した。

もう少し詰めると多分Docker部分で不満出てきそう。

しかし、これまで低スペックDocker動かして、今回スペックをかなり上げたのでしばらくはWSLで十分だろう。

そもそも趣味Dockerガンガン立ち上げるほど大したことしてないか関係ない。

常駐系はそもそもクラウドか自宅のサーバに投げる。

まり、わざわざノートPCLinuxを配置する意味がない。

そう、ないんだ。

WindowsEmacsをうまく扱えなかったのでどうしてもためらっていたが、それすら今はない。

せめてもの抵抗Vimを入れたがLazyVimに逃げてしまった。

いっそVSCodeかCursor使えばいいのに、意地を張っている。

意味もないしださい。

己だけのかっこよさだけをいつまでもいかけたい人生だった。

2024-10-31

HHKBを語る上で最低限知るべきこと

anond:20241030190740

HHKBは下記のような話が前提となって作られている

アメリカ西部のカウボーイたちは、馬が死ぬと馬はそこに残していくが、どんなに砂漠を歩こうとも、鞍は自分で担いで往く。馬は消耗品であり、鞍は自分の体に馴染んだインタフェースからだ。

いまやパソコン消耗品であり、キーボードは大切な、生涯使えるインタフェースであることを忘れてはいけない。

新しいパソコンを買ってもWindowsからMacに乗り換えてもキーボードは大切なインタフェースとして鞍のように持ち運ぶ

なので小さければ小さい方が良いし品質は高ければ高い方がいいい

更には耐久性も高い方が良いしメンテナンスがしやすい方が良い

この大前提があるので

といった特色を持っている

キーの少なさについて不満を言う人が多いが、基本的プログラマーはFunctionキーや矢印キーを使わない

それどころかホームポジションから指を離さないといけないようなキーほとんど使わない

例えばVimならhjklのキーEmacsならC-npfbのキーで移動できるので矢印キーは使わないし

BackspaceはC-hを使ったり、その他にも人によって独自ショートカットキーを設定している

これはキータイピング時間を短くするという理由と打ち間違いを極力減らすという理由のためである

大抵の場合ショートカットキーにはCtrlキーを多用するのでAキーの横にCtrlキーが配置されており、押し間違いの代表であるCaps Lockはよくわからないところに追いやられている

プログラマー英語配列を好むのも実はこの押しやすさが関係していて

Returnキー(Enterキー)がホームポジション右手小指のキー1つ空きで押せるためである

JIS配列場合は2つ空きなので押せなくはないが少し遠い

そのために1つ空きの英語キーボードが好まれて使われている

他のキーの配置もあるが大きな理由はこのReturnキーである

2024-09-17

anond:20240917101418

一日1万行ペースだと、似たような部分がたくさんあってすごいスピードvim編集してるのかもしれないし、そうだとするといくらでも圧縮はできそうだけど、

それはそれとして、一回考えたままのコードを書いてから改めて縮める方がいろいろ良くない?

2024-08-22

冷や水コメント定型文集

シェルスクリプト
シェルスクリプトなんて使うな/ShellCheck使えばいいだろ
Makefile
こんな記事よりオライリーMake本を読んだ方がいい
環境構築
昔は環境構築してたけど今ではデフォルトで満足してる
Raspberry Pi
ミニPCのN100
Emacs,Vim, 新しいエディタ
VSCode
デスク環境整備
金があってすごい/自慢だ

私の観測範囲より。

ITなどではしゃいでる人をみると必ず、冷や水をかけに現れるブクマカがいる。

昔は存在しなかったこういう人たちが、ITをつまらなくしてる側面は確かにあると思う。

はてブでもマンガとかのジャンルとかでは、ハラスメントは注目コメントに入ってこない。

マンガはまだまだ面白い分野。

ITに、はしゃいでる人がいないのが原因だ。

最近では、注目ブコメ露骨暴言ハラスメントしてくる奴らも増えた

足引っ張り屋のせいでオモテで素直にはしゃげない

2024-08-20

https://stevedylan.dev/posts/leaving-neovim-for-zed/

エディタ基本的に後発の方が優れている派であるが、VimモードについてはあらゆるエディタIDEで等しくゴミクズキーバインドVim風にするだけで編集モード切り替えには対応しない)であり実用に耐えないのでアピールポイントにするのはやめて欲しい

2024-07-31

anond:20240726171249

エスケープキー

vim覚えようとするたびに思うんだけど、エスケープキーってしょっちゅう使うには遠すぎない?

スペースバーの両隣くらいでも良いと思う。

変換は、Ctrl+スペースバーでいいじゃん。

2024-07-18

anond:20240718120414

エディタ戦争VSCodeが使われるようになって終わってしまたかな…

Atomは開発停止してしまったし、Fleetは最近聞かないし、JetBrainsIDEIDEだし。

Vim(orNeoVim)やEmacsの人も、長崎熊本の人が九州トップといえば?と聞かれて福岡と答えるのと同じ感じで、好きなのはVimEmacsだけどVSCodeおすすめするってことが多くなって。

ログイン ユーザー登録
ようこそ ゲスト さん
Лучший частный хостинг