跳至主要内容

博文

目前显示的是 二月, 2024的博文

Eglot and before/after-save-hook and use-package

In Emacs, when you try to automate some actions during every save action, you will surely get to the before-save-hook and the after-save-hook. Simply adding something like gofmt-before-save to before-save-hook will save you tons of time to do the go-fmt. And then, I meet eglot, and gopls will also save me tons of time doing googling and api documentation navigation. But eglot-ensure is not very friendly to the good old ways of how after-save-hooks were designed to work. It makes the before/after-save-hook a buffer local variable and it does not inherit the variable's global value. So, to make before/after-save-hook work again, experts start to adding hooks to major mode specific hooks like this: emacs.md - Go (opensource.google) """ ;; Optional: install eglot-format-buffer as a save hook. ;; The depth of -10 places this before eglot's willSave notification, ;; so that that notification reports the actual contents that will be saved. (defu

Winget: From Quirky Underdog to Stable Champion

Remember winget, the Windows Package Manager that started as a playful experiment? Well, prepare to be surprised – it's grown into a powerful and highly stable tool for managing your software, including in environments with network restrictions . Gone are the days of unreliable installs and limited functionality. The developers have diligently transformed winget into a reliable contender in the package manager arena. Updates arrive regularly, bringing stability, enhanced features, and wider app support . Here's why you should give winget another look: Unified experience: Manage all your apps from a single command line , ditching the scattered hunt for individual installers and downloads. Security focus: Winget verifies package integrity and signatures, ensuring you get authentic and secure software . Efficiency: Say goodbye to manual downloads and updates. Winget automates the process, saving you time and effort. Customization: Configure installation options and choose s

HTML and YAML parser not working for nvim treesetting on windows.

Got this issue: Impossible to load parser for html: Failed to load parser: uv_dlopen: error: 127 · Issue #3587 · nvim-treesitter/nvim-treesitter · GitHub There's an issue with HTML and YAML parsers due to their dependence on C++ and the libstdc++-6.dll library. Specifically, the NeoVim Windows version includes this library for nvim-qt.exe . However, this can cause conflicts when compiling with the user installed GCC, which links to its own libstdc++-6.dll (which in most case will be a different verson). Potential Problems: DLL Conflict: If you're not using nvim-qt , the html.so and yaml.so files might mistakenly point to the library bundled with NeoVim, leading to unexpected behavior. Path Reliance: Depending on your path variables, the parsers might prioritize NeoVim's library, even if you intend to use GCC's version. Fake Solutions: Remove NeoVim's Library (if not using nvim-qt): If you don't use nvim-qt , simply delete the libstdc++-6.dll file includ

Windows 10 下键盘设置技巧

CJK Emacs 用户 Windows 10键盘设置  其实并不是特别多Emacs用户有这么奇怪的要求: 要有CJK输入法 要有Emacs来满足输入快感 要CJK输入法的激活方式与Emacs热键不互相冲突  要右边的 Alt 按键和左侧的 Alt 一样可以在Emacs中用作 Meta 键  下面是我正在 Windows 10 系统使用的配置:  要求1,不需要特殊配置,windows 10 自带了各种地区的输入法,并且对于中文用户还很贴心的默认激活……  要求2,只要安装了 Emacs 就好。  要求3,为 Windows 10 添加一个“美式键盘”。如此一来,只要切换到这个英语键盘,Ctrl-Space 热键就可以直接被 Emacs 接收到,而不是被系统截获用作输入法开关了。同时,Win-Space 组合会成为键盘级别的切换。  要求4,为 Windows 10 添加 “美式键盘”的时候,一定选择不带任何修饰的 “美式键盘”。切记不要选择 “国际”版本,那是一个把右侧 Alt 键转换成 AltGr 的特殊设置(只有输入特殊的欧洲字符时才用的到,至少我是用不到的)。  还有一个曾经从 WinXP 时代流传下来的注册表设置: right alt -> left alt ------------------------------------ Windows Registry Editor Version 5.00   [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout] "Scancode Map"=hex:00,00,00,00,00,00,00,00,02,00,00,00,38,00,38,e0,\ 00,00,00,00   ------------------------------------