在 Ncurses 中添加一行
Add a line in Ncurses
ncurses 中有添加一行并将光标后的文本移动到新行的功能吗?我现在正在使用 insertln () 并将整个当前行向下移动,但我希望在行中间按下 enter 时行为更接近 vi。
谢谢!
您可以使用 instr
读取当前在 window 中的文本,然后使用 clrtoeol
将其删除,并使用 addstr
将文本放入新位置. (根据需要添加 w
and/or mv
前缀)。
请注意,真正的文本编辑器执行 "insert newline" 不会只在屏幕行上操作。它将对文件缓冲区中的逻辑行进行操作,可能会影响多个屏幕行(如果文件中的行大到可以换行)。如果您不将自己的逻辑行结构与您在屏幕上显示的内容分开,那么您就不是在做 text-editor-like 工作。
ncurses 中有添加一行并将光标后的文本移动到新行的功能吗?我现在正在使用 insertln () 并将整个当前行向下移动,但我希望在行中间按下 enter 时行为更接近 vi。
谢谢!
您可以使用 instr
读取当前在 window 中的文本,然后使用 clrtoeol
将其删除,并使用 addstr
将文本放入新位置. (根据需要添加 w
and/or mv
前缀)。
请注意,真正的文本编辑器执行 "insert newline" 不会只在屏幕行上操作。它将对文件缓冲区中的逻辑行进行操作,可能会影响多个屏幕行(如果文件中的行大到可以换行)。如果您不将自己的逻辑行结构与您在屏幕上显示的内容分开,那么您就不是在做 text-editor-like 工作。