
I own a copy of that book and think it is good.
The Elements of Programming Style
Software Tools / Software Tools in Pascal
I have read Elements and Software Tools in Pascal, and while partially definitely outdated ("avoid FORTRAN's three-way if"), excellent writing. Especially Software Tools in Pascal, which in large parts describes and explains source code; I was very impressed by the way the descriptions added lots of insights on top of just the code. Kernighan also manages to smuggle subtle bits of humour into texts about otherwise dry topics.
Less does almost everything an "editor" does, at least visually, except change text. It pages through text, forward and backward, line by line, it handles lines that are too long, tab expansion, it searches, even has an extended command set. (Can less do syntax coloring?)
It also handles files too big for memory. These are all editor problems. Mind its solutions may not be optimized for an editor, but it's certainly smaller.
Today, modern machines "suffer" from "too much" performance which actually frees you from not having to worry so much about the actual backing store, especially early on. Do you really intend to be editing a 2GB file? Honestly, how big is an average text file? And how many billion cycles per second does a modern CPU handle? Sucking the entire file in to RAM, and just pushing stuff around with block moves will take you very far on a modern machine. Not that you should not look at the other data structures (there are many), but you don't have to start there, depending on where your interest lies.
Also consider hunting down the book "Software Tools". There's two editions, the original and "Software Tools in Pascal". It's by Kernighan and Plauger. They go through in detail and write a version of the 'ed' line editor.
And if you really want to work on an editor, the CP/M world would love a new one. There, it's all about efficiency.
i was already a big fan of Brian Kernighan and Bell Labs. but what made me curious about the book was the essay against pascal that came after the book. the criticism felt (to me at least) justified by all the necessary workaround used in the book to get things to work.
i was a big fan of Niklaus Wirth and ETH too. and i understood the ideas and goals of pascal. if Bell Labs had waited a tad bit they would have been happier with Modula or Oberon. but we wouldn't have got unix nor c :)
i also got my hands on the original as well: software tools in ratfor. ratfor was that language that did not exist (iirc) based on fortran. the software tools were the same. and it was impressive to see the same tools in two different languages.
the other thing you get from these books is a sense of what they were working on and coding at Bell Labs. what would later become part of the unix system, the c language and its libraries.
again highly recommended.
Their further book Software Tools in Pascal I found inspiring (along with SICP) as they show how you can build very powerful and useful tools from small modules slotted together - SICP showed me this in the extreme with chapter 2 ending with an implementation of a full numeric tower